nuget .props和.targets文件应该是源代码库的一部分吗?

Mar*_*hke 15 restore package visual-studio nuget

这些文件是在包恢复期间创建的,这就是为什么我认为它们不必在存储库中.是否有进一步的文件说明这些文件的目的可能有助于回答这个问题?

Mat*_*ard 8

对于.NET Core项目,nuget.g.targets和nuget.g.props由NuGet还原生成.它们是在obj文件夹中创建的.所以你不需要在版本控制中使用这些.通常,obj文件夹中的文件不包含在版本控制中.

如果缺少解决方案,Visual Studio将在打开解决方案时自动恢复这些文件.

如果您使用的是构建服务器,则可以运行dotnet restore以还原这些文件.与Visual Studio 2017一起安装时,MSBuild 15也可用于通过运行msbuild /t:Restore解决方案来还原这些文件.

nuget.g.targets和nuget.g.props文件定义了各种属性,例如程序包缓存在计算机上的路径.它们还包括项目引用的NuGet包所需的任何MSBuild导入.

例如,如果引用了Microsoft.Net.Test.Sdk NuGet包,则nuget.g.targets和nuget.g.props将导入该NuGet包中包含的MSBuild文件.使用packages.config文件时,这些导入将直接添加到项目文件(.csproj)中.