不复制程序集的依赖程序集



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

然后,我创建了一个新的项目,并添加了对带有复制本地标志trueSomeLibrary.dll的引用,当使用该dll的内部使用上述2个库的方法时,运行时错误会出现:

无法加载文件或程序集"System.Net.Http.Formating,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856a364e35"或其依赖项之一。系统找不到指定的文件。

我所期望的是它应该有SomeLibrary.dll所依赖的依赖程序集,也应该在复制的bin文件夹中,但这并没有发生。

我是不是遗漏了什么?

更新:

关于您的信息,我可以通过单独添加对这两个dll的引用来实现它,但想知道如果我有对依赖于这两个dll的SomeLibrary.dll的引用,为什么我需要单独添加。

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

我用这个相关问题的答案解决了这个问题,即切换到使用Microsoft.AspNet.WebApi.Client-NuGet包显式地拉入该程序集。不幸的是,我仍然不确定问题出在哪里。

最新更新