如何阻止Visual Studio复制辅助引用?

普雷斯顿·麦考密克

我正在运行Visual Studio 2015。

我有一个实用程序库项目,该项目引用了许多在GAC中注册的第三方程序集。在该项目中,在GAC中注册的所有依赖项都是复制本地设置为false的引用。当我构建该项目时,GAC程序集不会复制到构建目录中。

然后,将“复制本地”设置为true,另一个项目将该实用程序项目作为一个项目引用。然后,在引用项目的构建过程中,该实用程序项目引用的所有GAC程序集均被复制到构建目录中。这些程序集很大,并且确实减慢了构建速度并使构建目录膨胀。

Visual Studio 2013未执行此操作。未复制在GAC中注册的二级参考文献。我还应注意,在Visual Studio 2015中,如果我将实用程序项目引用为文件而不是项目,则也会复制辅助引用。有没有办法阻止它复制辅助依赖项?

这是MSBuild的“详细”输出的一部分,其中包含要复制的辅助引用之一:

4>  Dependency "ESRI.ArcGIS.Catalog, Version=10.5.0.0, Culture=neutral, PublicKeyToken=8fc3cc631e44ad86".
4>      Resolved file path is "C:\Program Files (x86)\ArcGIS\DeveloperKit10.5\DotNet\ESRI.ArcGIS.Catalog.dll".
4>      Reference found at search path location "{Registry:Software\Microsoft\.NETFramework,v4.7.2,AssemblyFoldersEx}".
4>          For SearchPath "C:\...\bin\Release".
4>          Considered "C:\...\bin\Release\ESRI.ArcGIS.Catalog.winmd", but it didn't exist.
4>          Considered "C:\...\bin\Release\ESRI.ArcGIS.Catalog.dll", but it didn't exist.
4>          Considered "C:\...\bin\Release\ESRI.ArcGIS.Catalog.exe", but it didn't exist.
4>          For SearchPath "{TargetFrameworkDirectory}".
4>          Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2\ESRI.ArcGIS.Catalog.winmd", but it didn't exist.
4>          Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2\ESRI.ArcGIS.Catalog.dll", but it didn't exist.
4>          Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2\ESRI.ArcGIS.Catalog.exe", but it didn't exist.
4>          Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2\Facades\ESRI.ArcGIS.Catalog.winmd", but it didn't exist.
4>          Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2\Facades\ESRI.ArcGIS.Catalog.dll", but it didn't exist.
4>          Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2\Facades\ESRI.ArcGIS.Catalog.exe", but it didn't exist.
4>          For SearchPath "{Registry:Software\Microsoft\.NETFramework,v4.7.2,AssemblyFoldersEx}".
4>          Considered AssemblyFoldersEx locations.
4>      Required by "C:\...\bin\Release\ArcBase.dll".
4>      Found related file "C:\Program Files (x86)\ArcGIS\DeveloperKit10.5\DotNet\ESRI.ArcGIS.Catalog.xml".
4>      The ImageRuntimeVersion for this reference is "v4.0.30319".
普雷斯顿·麦考密克

我最终确实解决了这个问题。解决方案是将此部分添加到辅助库项目的.csproj文件中:

<Project... >
    <PropertyGroup>
        <DoNotCopyLocalIfInGac>true</DoNotCopyLocalIfInGac>
    </PropertyGroup>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何阻止Visual Studio复制辅助引用?

Visual Studio 2015安装被阻止

如何阻止Visual Studio查询生成器重写SQL(VS2005)

如何阻止 Visual Studio 2019 在 C++ 中的块注释期间自动插入星号?

如何阻止 Visual Studio 在保存文件的末尾放置额外的换行符

如何在Visual Studio Online上阻止用户访问git repo

如何阻止MS Visual Studio Express 2013自动覆盖保存文件

如何复制 Visual Studio 当前行号

阻止在Visual Studio中构建沙堡

Visual Studio 任务窗口 - 等待与阻止的任务

Visual Studio 2017“错误”阻止编辑表单

Visual Studio 2015程序包扩展,未复制引用的dll

Visual Studio项目将依赖关系从引用的项目复制到输出中

如何阻止Windows 8默认防病毒程序扫描我在Visual Studio中生成的可执行文件?

如何阻止 Visual Studio Code 在用代码片段生成的新行中添加两个空格?

如何阻止IISExpress将每个请求的每个细节都转储到Visual Studio输出窗口中?

Visual Studio复制项目

如何阻止计数在#show中复制部分?

如何阻止Eclipse打开引用的项目?

如何撤消引用令牌以阻止用户?

如何阻止CodeIgniter引用我的表

如何阻止Redmine自动引用问题?

如何阻止 JavaScript 通过引用传递类?

如何在本地运行Azure辅助角色而不在Visual Studio中运行它们

如何在Visual Studio中复制错误消息

Visual Studio代码-终端(PowerShell)-如何复制文本

Visual Studio代码,如何复制文件名

如何在Visual Studio Online中复制任务组?

阻止Visual Studio代码激活Python虚拟环境