MiG*_*Gro 5 .net nuget visual-studio-2017
自从我们的团队从 Visual Studio 2015 升级到 Visual Studio 2017 以来,我们遇到了 NuGet 包的问题。每次我们更新包(无论什么 feed)(例如 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>
Run Code Online (Sandbox Code Playgroud)
对我个人来说,程序集是否被复制到任何输出目录并不重要。但 Visual Studio 本身似乎存在问题,因为尽管编译成功完成,但代码编辑器中存在数百个错误。
是否可以避免 NuGet Packet Manager 这样做?或者还有其他解决办法吗?
是否可以避免 NuGet Packet Manager 这样做?或者还有其他解决办法吗?
恐怕没有这样的方法来解决这个问题。因为这是 NuGet 的默认行为。
当我们更新 nuget 包或重新安装 nuget 包时,在卸载过程中,该项目及其所有元数据(例如,私有)将从项目文件中删除。在安装步骤中,仅在需要时才会添加显式私有元数据。因此,<Private>true</Private>如果引用的程序集无论如何都已在本地复制,则将被删除。
因此,即使标记已从项目文件中删除,Visual Studio 也会在生成时将引用的程序集复制到 bin 目录。该程序集引用上的属性检查器还显示,即使没有该标记,Visual Studio 也会继续将“Copy Local”解释为“True”。
检查此线程以获取更多详细信息。
希望这可以帮助。