此问题已在此处有答案:
How to specify the assembly version for a .NET Core project?(5个答案)
昨天关门了。
在.NET Framework类库中,我可以右键单击项目〉属性,然后单击汇编版本,更新版本,一旦dll可用,这就是构建的一部分。然后我在构建NuGet包时使用了这个版本。
在Visual Studio 2022中,我有一个.NET 6类库,但当我右键单击时,我没有看到相同的Assembly Version选项,尽管我在Package下看到它,但我无法判断这是否与Assembly Version相同,或者Package是否仅用于NuGet。
增加汇编版本的正确位置是什么,以便它发生在类库和我构建的任何NuGet包上?
2条答案
按热度按时间3phpmpom1#
来自.NET SDK项目文档的MSBuild参考的“从.NET Framework迁移”部分:
.NET Framework项目模板创建一个代码文件,其中设置了这些程序集信息属性。该文件通常位于 .\Properties\AssemblyInfo.cs 或 .\Properties\AssemblyInfo.vb。SDK样式的项目根据项目设置为您生成此文件。**您不能同时拥有这两个文件。**将代码移植到.NET 5(或.NET Core 3.1)或更高版本时,请执行以下操作之一:
GenerateAssemblyInfo
设置为false
,禁用生成包含程序集信息属性的临时代码文件。这使您可以保留 AssemblyInfo 文件。AssemblyInfo
文件中的设置移植到项目文件,然后删除AssemblyInfo
文件。因此,如果需要,您可以通过将以下内容添加到.csproj并将相应的文件添加到解决方案中来恢复此文件:
或者只是管理.csproj本身中的属性。
如果您在
Package
中编辑数据,您将看到它将管理适当的设置(尽管命名并不理想,是的)。w6mmgewl2#
您可以向解决方案中添加一个文件 * Directory.Build.props *,其内容如下:
Check the documentation以了解有关用法的更多信息。