由于某些原因,在执行错误任务期间存在一个cakebuild.net。
错误的根本原因是UpdateAssemblyInfo = true属性。看起来像会发生属性复制。
但不清楚为什么会发生在我身上。你能告诉我这种行为吗?
Prerequisites:
错误:
Properties\AssemblyInfo.cs(41,12):错误CS0579:重复的'AssemblyInformationalVersion‘属性
发布于 2022-01-11 12:29:53
对于SDK风格项目,将始终生成AssemblyInfo (除非设置了<GenerateAssemblyInfo>false</GenerateAssemblyInfo> )。生成的AssemblyInfo将包含一些版本信息,无论是否显式设置<AssemblyInformationalVersion>。
因此:在UpdateAssemblyInfo=true中设置GitVersion可以创建一个AssemblyInfo,您的csproj也会创建一个AssemblyInfo。因此,错误。
您可以做的是:获取版本并相应地设置build属性,因此生成的AssemblyInfo包含您希望它得到的信息。
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);
});https://stackoverflow.com/questions/70666042
复制相似问题