为什么我的DLL版本在dotnet发布后没有更新?

问题描述 投票:0回答:1

我有一个 dotnet 核心项目,并尝试使用

dotnet publish -c "Release" -p:Version=x.x.x.x
命令从命令行构建。 我还使用以下参数变化进行了测试

  • -p:版本=“x.x.x.x”
  • /p:版本=x.x.x.x
  • /p:版本=“x.x.x.x”

不幸的是,它们都不起作用。 我的项目中还有一个 AssemblyInfo.cs 文件。 .csproj 文件中没有“版本”节点。

我尝试使用或不使用 AssemblyVersion 属性进行构建,也尝试不使用该文件进行构建,但 DLL 的“文件版本”和“产品版本”仍然保留 0.0.0.0 或定义的值(如果在 AssemblyInfo 中指定了该值) .

如何构建项目才能获取版本号?

更新:

所以,正如我提到的,我有一个 AssemblyInfo.cs 文件。我删除了它,并从 .csproj 文件中删除了

<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
节点。之后版本控制似乎有效,但在这种情况下我无法指定标题、产品、版权等属性。

c# .net msbuild version publish
1个回答
0
投票

您可以直接修改

.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

© www.soinside.com 2019 - 2024. All rights reserved.