c# – VS 2015复制以输出项目引用的GAC引用,而不管本地设置为复制

前端之家收集整理的这篇文章主要介绍了c# – VS 2015复制以输出项目引用的GAC引用,而不管本地设置为复制前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我为这个行为提出了 connect issue.

VS 2015复制以输出项目引用的GAC引用,而不管本地设置为复制.
VS 2010不会用相同的解决方案项目,尊重当地财产的复制.
目前我发现的唯一解决方法是在Project A中添加对Microsoft.Web.Services3.dll的直接引用,并将其设置为copy local = false.

复制步骤:

Project A
|__ Project B (Project Reference,copy local = true)
     |__Microsoft.Web.Services3.dll (GAC,copy local = false)

实际:

Microsoft.Web.Services3.dll正被复制到Project A的输出目录.

预期:

Microsoft.Web.Services3.dll未被复制到项目A的输出目录.

任何想法为什么会发生这种情况? MSDN documentation明确指出,GAC的依赖关系不应该被复制到输出中,VS 2010也是这样认为的.

解决方法

当我从VS2013移动到VS2015时,我遇到了几个第三方GAC的程序集的类似问题.我的解决方案是进入每个.csproj文件添加以下内容
<PropertyGroup>
    <DoNotCopyLocalIfInGac>true</DoNotCopyLocalIfInGac>
</PropertyGroup>

猜你在找的C#相关文章