重复的AssemblyVersion属性(Duplicate AssemblyVersion Att

2019-06-23 22:47发布

我有一个在编译生成以下错误的项目:

错误CS0579:重复“的AssemblyVersion”属性

我检查了文件AssemblyInfo.cs ,它看起来像没有重复出现。

我发现这篇文章在MSDN上它解决了类似的问题,下面这篇文章中的建议,解决问题为好。

谁能告诉我这是怎么回事? 它是否在与具有类似名称的类两个或两个以上项目的情况下才会发生? 或者是别的什么?

Answer 1:

由于我过去也遇到这个问题,所以我会假设你的构建过程中也提供了集信息seperately提供的版本。 这导致重复,你的项目也有在AssembleyInfo.cs文件信息。 所以,删除文件,我认为它应该工作。



Answer 2:

Visual Studio 2017年另一种解决方案,以继续使用起AssemblyInfo.cs文件是关闭自动装配信息生成这样的:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
  </PropertyGroup>
</Project>

我个人认为,对于需要同时支持.NET Framework和.NET标准项目是非常有用的。



Answer 3:

我有同样的错误,被下属大会Vesrion和大会文件的版本,所以读鲁奇答案我只是说他们的意见和得到解决的错误

// AssemblyVersion is the CLR version. Change this only when making breaking    changes
//[assembly: AssemblyVersion("3.1.*")]
// AssemblyFileVersion should ideally be changed with each build, and should help identify the origin of a build
//[assembly: AssemblyFileVersion("3.1.0.0")]


Answer 4:

在我的情况下,编译过程中生成一些临时*的.cs文件已经意外地添加到项目中。

该文件从obj\Debug目录中,所以他们绝对不应该被添加到解决方案。 一个*.cs通配符去有点疯狂,并加入他们不正确。

删除这些文件解决了这一问题。



Answer 5:

当旧的项目转换为.NET的核心,大部分的那是在AssemblyInfo.cs中的信息现在可以在项目本身设置。 打开项目属性,然后选择套餐选项卡以了解新的设置。

在埃里克L. Anderson的文章“复制‘System.Reflection.AssemblyCompanyAttribute’属性”描述了3个选项:

  • 从AssemblyInfo.cs文件删除冲突的项目,
  • 彻底删除的文件或
  • 禁用GenerateAssemblyInfo(如建议在塞尔谢苗诺夫另外一个答案 )


Answer 6:

对我来说这是AssembyInfo.cs和SolutionInfo.cs有不同的值。 因此,检查这些文件也是如此。 我只是从他们的一个去除的版本。



Answer 7:

因为,不知何故,有在我的控制器文件夹中创建一个文件夹OBJ发生我的错误。 只要做你的AssemblyInfo.cs内的一行在您的应用程序进行搜索。 有可能是某个地方重复。



Answer 8:

在我的情况下,其中的一个项目,这是一个项目文件夹它自身的子文件夹:

  • 文件系统:

    • C:\项目\的WebAPI \ wepapi.csproj
    • C:\项目\的WebAPI \测试\ wepapitests.csproj
    • 的WebAPI(文件夹和项目)
      • 测试(文件夹)
    • 测试(文件夹和项目)

然后,我不得不从“的WebAPI”项目中删除子文件夹“测试”。



Answer 9:

如果我编在Visual Studio 2017年&然后我尝试用命令行命令“的dotnet运行”与.NET的核心重建和运行项目这通常发生在我。

简单地删除所有的“bin”和“目标文件”文件夹 - 内外“ClientApp”与直接在项目文件夹 - 允许.NET核心命令“的dotnet运行”重建与成功运行。



Answer 10:

我的错误是,我也引用在我的项目,这也是包含属性“的AssemblyVersion”的值另一个文件。 我删除属性从文件之一,它现在能正常使用。

关键是要确保在项目中的任何文件,这个值是不是多次声明。



Answer 11:

然而,提升核心VS2017当另一个解决方法是删除它们在属性\ AssemblyInfo.cs文件。

因为他们现在都存储在项目中。



Answer 12:

我发现在MSDN这个答案,这也解释了标记文件的内容,然后复制到输出=如果较新。 请参阅下面的文章:

https://social.msdn.microsoft.com/Forums/en-US/8671bdff-9b16-4b49-ba9e-227cc4df31b2/compile-error-cs0579-duplicate-assemblyversion-attribute?forum=vsgatk

GH



Answer 13:

我遇到同样来了,当试图添加GitVersion工具来更新我的AssemblyInfo.cs中的版本。 使用VS2017和.NET的核心工程。 所以,我只是混合两全其美。 我的AssemblyInfo.cs包含由GitVersion工具生成的唯一版本信息,我的csproj包含remaingin事情。 请注意,我不使用<GenerateAssemblyInfo>false</GenerateAssemblyInfo>我使用涉及版本的属性只(见下文)。 更多细节在这里的AssemblyInfo性能 。

AssemblyInfo.cs中

[assembly: AssemblyVersion("0.2.1.0")]
[assembly: AssemblyFileVersion("0.2.1.0")]
[assembly: AssemblyInformationalVersion("0.2.1+13.Branch.master.Sha.119c35af0f529e92e0f75a5e6d8373912d457818")]

my.csproj包含了所有与其他assemblyu属性:

<PropertyGroup>
...
<Company>SOME Company </Company>
<Authors>Some Authors</Authors>
<Product>SOME Product</Product>
...
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute><GenerateAssemblyInformationalVersionAttribute>false</GenerateAssemblyInformationalVersionAttribute>



文章来源: Duplicate AssemblyVersion Attribute