首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >蛋糕GetVersion -重复的'AssemblyInformationalVersion‘属性

蛋糕GetVersion -重复的'AssemblyInformationalVersion‘属性
EN

Stack Overflow用户
提问于 2022-01-11 11:30:26
回答 1查看 186关注 0票数 1

由于某些原因,在执行错误任务期间存在一个cakebuild.net。

错误的根本原因是UpdateAssemblyInfo = true属性。看起来像会发生属性复制。

但不清楚为什么会发生在我身上。你能告诉我这种行为吗?

Prerequisites:

  • 净额4.7.2
  • 而不是AssemblyInformationalVersion属性在.csproj中
  • 不是属性中的AssemblyInformationalVersion属性\AssemblyInfo var gitVersion =GitVersion(新GitVersionSettings { OutputType = GitVersionOutput.Json,NoFetch = false,UpdateAssemblyInfo = true });

错误:

Properties\AssemblyInfo.cs(41,12):错误CS0579:重复的'AssemblyInformationalVersion‘属性

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-11 12:29:53

对于SDK风格项目,将始终生成AssemblyInfo (除非设置了<GenerateAssemblyInfo>false</GenerateAssemblyInfo> )。生成的AssemblyInfo将包含一些版本信息,无论是否显式设置<AssemblyInformationalVersion>

因此:在UpdateAssemblyInfo=true中设置GitVersion可以创建一个AssemblyInfo,您的csproj也会创建一个AssemblyInfo。因此,错误。

您可以做的是:获取版本并相应地设置build属性,因此生成的AssemblyInfo包含您希望它得到的信息。

代码语言:javascript
复制
Task("Build")
.Does(() => {
   // get version
   var gitVersion = GitVersion();
   var version = gitVersion.SemVer; // or something other...
   Information($"Building version: {version}");

   // add version to settings
   var settings = new DotNetBuildSettings();
   settings.MSBuildSettings = new DotNetCoreMSBuildSettings();
   settings.MSBuildSettings.Properties.Add("AssemblyVersion", new[] { version });
   settings.MSBuildSettings.Properties.Add("AssemblyFileVersion", new[] { version });
   settings.MSBuildSettings.Properties.Add("AssemblyInformationalVersion", new [] { version });
   settings.MSBuildSettings.Properties.Add("Version", new [] { version });

   // build
   DotNetBuild("./console/console.csproj", settings);
});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70666042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档