visual-studio - VSTS - 如何在不丢失 csproj 中的 $(solutiondir) 的情况下更新 Nuget 包
问题描述
问题:
我们的 VSTS 构建管道存在问题,因为我们在 csproj 中使用了 $(SolutionDir)。我们遇到的问题是,我们无法更新我们的 Nuget 包,因为无论何时更新,我们都会丢失 $(SolutionDir) 并且必须进入 csproj 并将 $(SolutionDir) 放回正确的位置。
问题:
有没有办法设置构建(或其他任何东西),以便我们不需要手动修改 csproj?我们想添加/更新一个 nuget 包,并且知道每次签入时都会在构建中正确处理它?甚至可能自动添加 $(SolutionDir) 。
解决方案
VSTS - 如何在不丢失 csproj 中的 $(solutiondir) 的情况下更新 Nuget 包
恐怕你不能做这样的事情。我们可以.csproj
手动编辑以$(SolutionDir)
在我们的.csproj
文件中设置,但 NuGet 不支持这一点,如果您使用packages.config
文件,NuGet 总是使用相对路径作为引用。
$(solutiondir)
这就是添加/更新 nuget 包时nuget 覆盖的原因。并且没有这样的设置我们可以$(solutiondir)
自动使用。
要解决此问题,您可以尝试使用PackageReference
而不是packages.config
. PackageReference
不会对项目文件进行任何更改,并且包是从用户范围的位置发现的。
检查文档NuGet 现在已完全集成到 MSBuild和另一个线程中以获取更多详细信息。
希望这可以帮助。
推荐阅读
- python - 在 google ai 平台上部署包含 The Universal Sentence Encoder Multilingual 的模型
- c# - 在 .NET Core (MS.DI) 中注册具有类型约束的泛型类型
- progressive-web-apps - Blazor WebAssembly PWA 是否可以在用户的文件系统上运行本地桌面应用程序?
- python - 保存卷积神经网络中超参数的优化
- python - 如何保存与两个模型相关的数据
- swift - xcode 11.3.1 中的大小检查器缺少选项
- ios - iOS - 广播上传扩展 - UserDidFinishSetup - 从容器应用程序传递参数
- asp.net-mvc-4 - 如何将 asp.net web 项目中现有的 Masterpage.Master 用于另一个 MVC4 _layout.cshtml 项目?
- python - Cloud Functions 中出现未知错误
- c# - 如何在不操纵 IoT 中心的连接字符串的情况下从后端服务配置我的设备的双重所需属性?