2012-12-26 113 views
1
缺少

我与在Visual Studio 2008中创建的,后来更新和Visual Studio 2010中最奇怪的事情也发生重新编译.NET 3.5类库工作即在Solution Explorer中所列实际上并不编译成DLL(通过检查与.net反射的DLL证明),并分别有没有错误或警告。我尝试了谷歌搜索和搜索这个网站,我找不到任何适用的信息。任何意见,为什么这是发生将不胜感激!希望提供的信息够用了;否则我应该可以提供更多。ASP.NET Web引用从DLL

编辑: Web引用的名称空间显示在解决方案资源管理器中,但不显示在对象浏览器中。我的一些同事说这是Web服务本身的一个问题。我应该提及它是一个SAP Web服务,在开发过程中,我们正在与最近升级的测试环境进行交互,并且可能会出现问题。一旦我更确定,我会确认这是否是原因,所以请不要犹豫,与此同时分享任何相关信息。

编辑(2):参见进一步澄清,包括所生成的客户端错误Cyborgx37's answer我的第一响应。

回答

1

这是稍微令人费解:我所做的一切得到Web引用到对象浏览器 - 因此成为在编译时实际DLL - 是它重命名为别的东西,然后将其恢复到它的旧名称(这是可选的,以保持名称相同)。喜欢奇怪的微软问题。希望这可以帮助最终遇到相同问题的其他人!

+0

感谢您发布您的解决方案。欢迎来到StackOverflow。 – JDB

0

如果我理解正确,你想知道为什么引用的程序集没有编译你的DLL。

引用组件通常不编译到DLL。您的DLL将包含一个指向外部资源的指针,.NET将尝试查找其中的几种策略之一(然后将其加载到内存中,以便您的应用程序可以使用它)。

你会发现这篇文章有启发:

How the Runtime Locates Assemblies
要成功部署.NET Framework应用程序,你必须了解公共语言运行时如何定位,并结合组成的组件应用。 ...

+0

有在我这里指的是项目近40个Web引用。编译项目后,所有除了一个Web引用都有所产生的DLL的模块中自己的命名空间(通过.net反射证明)。在运行时,当缺少其命名空间中的Web引用被调用时,这个客户端错误生成:“System.TypeLoadException:无法从组件加载类型_ [类型] _ [组装] _”。我真的很感谢你的迅速和详细的回应,但我不认为它回答我的问题,因为这个Web Reference有明显的不同。 – Jesse

+0

此信息对您的问题有用。不幸的是,我没有遇到这个问题,所以没有什么可以提供给你的。 – JDB

+0

如果我不够具体,我很抱歉。我会最终弄清楚并分享我的发现。再次感谢! – Jesse