如何版本 Visual Studio 工件?
How to version Visual Studio artifacts?
当我构建 Maven 项目时,工件版本在 pom.xml
文件中。在 Gradle 中,它位于 gradle.properties
或 build.gradle
文件中。在 NodeJS 中,它位于 package.json
文件中。
在对 Visual Studio 解决方案 (*.sln
) 工件进行版本控制时是否有等效的方法,因此当我发布工件时它会使用该版本?
Visual Studio,MsBuild 和 Nuget 支持锁定文件。不过,您需要启用它们才能生成它们。几乎全世界都选择了一个选择退出系统,.NET 生态系统有一个选择加入系统。如果我没记错的话,Visual Studio 2017 添加了支持。
编辑您的项目文件并添加:
<Project>
<PropertyGroup>
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
</PropertyGroup>
</Project>
要在锁定模式下强制执行还原,请添加:
<RestoreLockedMode>true</RestoreLockedMode>
并且可以选择在 CI 上自动执行此操作:
<Project>
<PropertyGroup>
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
<RestoreLockedMode
Condition="'$(RestoreLockedMode)' == ''
and ('$(TF_BUILD)' != ''
or '$(CONTINUOUS_INTEGRATION)' != '')"
>
true
</RestoreLockedMode>
</PropertyGroup>
</Project>
您还可以使用 dotnet 或 msbuild 从命令行传递这些属性:
> dotnet restore --locked-mode
> msbuild /t:restore /p:RestoreLockedMode=true
这些属性是为每个 .NET 项目文件设置的。这不是一个广泛的解决方案 属性.
另请参阅:
当我构建 Maven 项目时,工件版本在 pom.xml
文件中。在 Gradle 中,它位于 gradle.properties
或 build.gradle
文件中。在 NodeJS 中,它位于 package.json
文件中。
在对 Visual Studio 解决方案 (*.sln
) 工件进行版本控制时是否有等效的方法,因此当我发布工件时它会使用该版本?
Visual Studio,MsBuild 和 Nuget 支持锁定文件。不过,您需要启用它们才能生成它们。几乎全世界都选择了一个选择退出系统,.NET 生态系统有一个选择加入系统。如果我没记错的话,Visual Studio 2017 添加了支持。
编辑您的项目文件并添加:
<Project>
<PropertyGroup>
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
</PropertyGroup>
</Project>
要在锁定模式下强制执行还原,请添加:
<RestoreLockedMode>true</RestoreLockedMode>
并且可以选择在 CI 上自动执行此操作:
<Project>
<PropertyGroup>
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
<RestoreLockedMode
Condition="'$(RestoreLockedMode)' == ''
and ('$(TF_BUILD)' != ''
or '$(CONTINUOUS_INTEGRATION)' != '')"
>
true
</RestoreLockedMode>
</PropertyGroup>
</Project>
您还可以使用 dotnet 或 msbuild 从命令行传递这些属性:
> dotnet restore --locked-mode
> msbuild /t:restore /p:RestoreLockedMode=true
这些属性是为每个 .NET 项目文件设置的。这不是一个广泛的解决方案 属性.
另请参阅: