繁体   English   中英

不复制装配的从属装配

[英]Assembly's dependent Assemblies are not copied

我有一个这样的场景,例如,我有一个库说: SomeLibrary.dll ,它引用System.Net.HttpSystem.Net.Http.Formating只是一个带有Copy Local标志为true的示例,而该程序集实际上正在消耗其中一些类型两个dll。

然后,我创建一个新项目,并使用Copy Local标志true添加对SomeLibrary.dll的引用,当在内部使用上述2个库的情况下使用该dll的方法时,出现运行时错误:

无法加载文件或程序集'System.Net.Http.Formatting,版本= 4.0.0.0,区域性=中性,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一。 该系统找不到指定的文件。

我期待的是它应该具有SomeLibrary.dll所依赖的依赖程序集,该依赖程序集也应该位于复制的bin文件夹中,这是没有发生的。

我在这里想念什么吗?

更新:

为您提供信息,我能够通过将引用分别添加到这2个dll中来使其工作,但是想知道为什么如果我引用依赖于这2个dll的SomeLibrary.dll ,则需要单独添加。

我只是遇到了一个非常类似的问题,即我的程序集A依赖于程序集B,而程序集B依赖于System.Net.Http.Formatting.dll。 出于某种原因,在我的构建服务器上,它没有复制System.Net.Http.Formatting.dll,因此它在创建的最终包中丢失了(尽管在我看来,它不在两个项目的输出文件夹中)。 它在我的开发机器上本地运行良好,并且我验证了与我的机器在同一位置上在生成服务器上存在的程序集( C:\\Program Files (x86)\\Microsoft ASP.NET\\ASP.NET MVC 4\\Assemblies )。

我通过相关问题的答案解决了该问题,该问题是切换到使用Microsoft.AspNet.WebApi.Client NuGet包来显式引入该程序集。 不幸的是,我仍然不确定是什么问题。

暂无
暂无

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

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