CS0579:重复 'global::System.Runtime.Versioning.TargetFrameworkAttribute'
CS0579: Duplicate 'global::System.Runtime.Versioning.TargetFrameworkAttribute'
我正在尝试在 DevOps 中构建多个 c# netstandard2.0 dll 和一个 netcoreapp3.1 应用程序
AssemblyInfo.cs for the .exe 包含以下内容
我可以在我的电脑上构建。
但是 DevOps 中的构建失败并出现错误
(CoreCompile target) ->
obj\Release\netcoreapp3.1\.NETCoreApp,Version=v3.1.AssemblyAttributes.cs(4,12): error CS0579: Duplicate 'global::System.Runtime.Versioning.TargetFrameworkAttribute' attribute
DevOps 中的任务是
- task: DotNetCoreCLI@2
inputs:
command: pack
packagesToPack: '**/SBD.*.csproj'
versioningScheme: byPrereleaseNumber
majorVersion: '$(Major)'
minorVersion: '$(Minor)'
patchVersion: '$(Patch)'
错误来自自动生成的文件 .NETCoreApp,Version=v3.1.AssemblyAttributes.cs
,我认为它与您自定义的 AssemblyInfo.cs
文件有关。
对于 .net core
(new SDK fprmat) 项目,默认情况下它不包含 AssemblyInfo.cs
文件,如 .net framework
(旧的遗留格式)。相反,我们可以在它的项目文件中设置这些值,它会为我们生成 xx.AssemblyAttributes.cs
和 ProjectName.AssemblyInfo.cs
。我假设您的自定义 AssemblyInfo.cs
和自动生成的文件之间存在冲突。
因此您需要设置 <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
以使用您的自定义 AssemblyInfo.cs
文件。检查Github/Dotnet-SDK中的similar ticket。
这对我有用;
我在其中一个 .cproj 文件中评论(删除)<TargetFramework> 属性。
我正在尝试在 DevOps 中构建多个 c# netstandard2.0 dll 和一个 netcoreapp3.1 应用程序
AssemblyInfo.cs for the .exe 包含以下内容
我可以在我的电脑上构建。
但是 DevOps 中的构建失败并出现错误
(CoreCompile target) ->
obj\Release\netcoreapp3.1\.NETCoreApp,Version=v3.1.AssemblyAttributes.cs(4,12): error CS0579: Duplicate 'global::System.Runtime.Versioning.TargetFrameworkAttribute' attribute
DevOps 中的任务是
- task: DotNetCoreCLI@2
inputs:
command: pack
packagesToPack: '**/SBD.*.csproj'
versioningScheme: byPrereleaseNumber
majorVersion: '$(Major)'
minorVersion: '$(Minor)'
patchVersion: '$(Patch)'
错误来自自动生成的文件 .NETCoreApp,Version=v3.1.AssemblyAttributes.cs
,我认为它与您自定义的 AssemblyInfo.cs
文件有关。
对于 .net core
(new SDK fprmat) 项目,默认情况下它不包含 AssemblyInfo.cs
文件,如 .net framework
(旧的遗留格式)。相反,我们可以在它的项目文件中设置这些值,它会为我们生成 xx.AssemblyAttributes.cs
和 ProjectName.AssemblyInfo.cs
。我假设您的自定义 AssemblyInfo.cs
和自动生成的文件之间存在冲突。
因此您需要设置 <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
以使用您的自定义 AssemblyInfo.cs
文件。检查Github/Dotnet-SDK中的similar ticket。
这对我有用;
我在其中一个 .cproj 文件中评论(删除)<TargetFramework> 属性。