繁体   English   中英

在ASP.NET中使用Web服务时缺少dll

[英]Missing dll when using web services with ASP.NET

我有一个包含多个项目的解决方案,其中一个是网站。 该网站引用了五个Web服务,这些服务正在我们自己的服务器上运行。 使用VS 2010构建网站时,出现以下错误:

验证网站App_WebReferences / VpService /(1):构建(web):Reference.svcmap:无法加载文件或程序集“ Konzeptum.BL.Base,版本= 2.6.0.0,文化=中性,PublicKeyToken =空”或以下之一这是依赖关系。 该系统找不到指定的文件。

生成此错误的服务在每个版本上都会更改。 在我查看的任何计算机上都找不到找不到的dll,甚至在运行该服务的服务器上也没有该dll。 但是,服务引用了一些API,而这些API又引用了dlls Konzeptum.BL.Telerate.Provisioning,Konzeptum.VO.Base,Konzeptum.VO.Telerate.Provisioning 我的猜测是这些dll利用了丢失的Konzeptum.BL.Base

只要网站有此问题,我就可以很好地编译每个项目(服务,API等)。 我尝试更新服务引用,删除并重新添加它们,什么也没有。 我在网上可以找到的唯一解决方案(以及类似的工作)是停用每个服务的“ 服务引用设置”中的类型重用。 我取消选中上述三个dll,并重用所有其他类型。

但是,现在如果我构建网站,则会出现错误,指出服务提供的类型与现有的类型之间存在不明确的引用(例如,System.IO的FileInfo),或者找不到某些数据类型的错误。 这些丢失的类型与Konzeptum无关,它们由服务本身定义。 对我来说幸运的是,这些错误在网站的构建过程中很晚才弹出,因此大多数错误都可以使用。

这些问题可能是什么原因造成的,我该如何解决? 感谢您的任何帮助。

编辑:也许之前还不清楚,但是这个问题似乎只发生在我的机器上,另外两个开发人员在构建网站时没有任何问题(而且我们使用的是相同的tfs存储库)。 运行实时系统的服务器没有任何问题。 但是缺少的dll在任何地方都不存在,因此我不能将其复制过来。 程序集绑定日志查看器也没有太大帮助,在“调用程序集”下的Konzeptum.BL.Base条目中,它只是说(未知)。

好的,在搜索了我的机器与其他开发人员的机器之间的差异之后,我发现了一个我认为根本不重要的机器。 他们在我的PC上安装了.NET 4.0版,而不是4.5.1版。 因此,在卸载4.5.1和安装4.0之后,问题就消失了。 现在,我可以成功编译整个解决方案,而不会出现任何错误。 为什么-我不知道。 解决方案中的项目都针对4.0,因此我认为在4.5.1下运行它们应该没有问题,但我想不是。 我什至浏览了4.0到4.5 / 4.5.1之间的更改列表,但是找不到与我的问题有关的任何内容。

感谢任何尝试提供帮助的人。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM