我有一个 dotnet 核心项目,并尝试使用
dotnet publish -c "Release" -p:Version=x.x.x.x
命令从命令行构建。
我还使用以下参数变化进行了测试
不幸的是,它们都不起作用。 我的项目中还有一个 AssemblyInfo.cs 文件。 .csproj 文件中没有“版本”节点。
我尝试使用或不使用 AssemblyVersion 属性进行构建,也尝试不使用该文件进行构建,但 DLL 的“文件版本”和“产品版本”仍然保留 0.0.0.0 或定义的值(如果在 AssemblyInfo 中指定了该值) .
如何构建项目才能获取版本号?
更新:
所以,正如我提到的,我有一个 AssemblyInfo.cs 文件。我删除了它,并从 .csproj 文件中删除了
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
节点。之后版本控制似乎有效,但在这种情况下我无法指定标题、产品、版权等属性。
您可以直接修改
.csproj
文件以包含<AssemblyVersion>major.minor.build.revision</AssemblyVersion>
:
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<!-- Here -->
<AssemblyVersion>1.2.3.4</AssemblyVersion>
</PropertyGroup>
在 Visual Studio 中,只需双击项目即可修改 csproj 文件。
其他设置包括:
<FileVersion>a.b.c.d</FileVersion>
- 类似于 AssemblyFileVersionAttribute<Company>company name</Company>
- 类似于 AssemblyCompanyAttribute<AssemblyTitle>title here</AssemblyTitle>
- 类似于 AssemblyTitleAttribute<AssemblyDescription>assembly description here</AssemblyDescription>
- 类似于 AssemblyDescriptionAttribute