.net - 我可以避免 NuGet 删除私有(复制本地)标签吗
问题描述
由于我们的团队从 Visual Studio 2015 升级到 Visual Studio 2017,我们遇到了 NuGet 包的问题。每次我们更新包(无论是什么提要)时,例如 MVC,更新都会删除项目文件中的“Private”标签:
<Reference Include="System.Web.Mvc, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Mvc.5.2.4\lib\net45\System.Web.Mvc.dll</HintPath>
<Private>True</Private>
</Reference>
就我个人而言,是否将程序集复制到任何输出目录并不重要。但似乎 Visual Studio 本身存在问题,因为它在代码编辑器中有数百个错误,尽管编译成功完成。
是否可以避免 NuGet Packet Manager 这样做?或者有没有其他解决方案?
解决方案
是否可以避免 NuGet Packet Manager 这样做?或者有没有其他解决方案?
恐怕没有这样的方法可以解决这个问题。因为这是 NuGet 的默认行为。
当我们更新 nuget 包或重新安装 nuget 包时,在卸载期间,该项目连同其所有元数据(例如,私有)从项目文件中删除。在安装步骤中,只有在需要时才会添加显式私有元数据。因此,<Private>true</Private>
如果引用的程序集无论如何都会在本地复制,则将被删除。
因此,Visual Studio 会在构建时将引用的程序集复制到 bin 目录,即使该标记已从项目文件中删除。该程序集引用上的属性检查器还显示,即使没有该标记,Visual Studio 也会继续将“复制本地”解释为“真”。
检查此线程以获取更多详细信息。
希望这可以帮助。
推荐阅读
- python - 如何在数据框中将货币转换为美元
- sql - 雪花查询性能改进
- mapping - Python:使用 visvis 在 DEM 上映射数据
- ruby - 无法在基于 docker logstash 图像的容器中创建自定义文件夹
- tensorflow - 如何在 keras 镜像策略中控制状态度量的缩减策略
- ruby-on-rails - Rails ActiveRecord Where With AND OR 条件
- github - 如何接受github邀请?
- c++ - 通过 system() 运行 AppleScript,错误 256
- python - geopandas reprojection .to_crs() 不会更新
- excel - 嗨,我的 IF 代码显示为假。我正在尝试将调查答案转换为数字以进行分析