我有一个项目,在编译时产生以下错误:

重复'AssemblyVersion'属性

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

我在MSDN上找到了这篇文章,它解决了一个类似的问题,并按照这篇文章中的建议解决了这个问题。

有人能告诉我这是怎么回事吗?这种情况是否只发生在有两个或多个类名称相似的项目的情况下?还是其他原因?


当前回答

我得到这些错误,因为我试图临时重命名obj文件夹为obj_,然后它自动包含在项目中。然后其中的assembly.cs开始与后来生成的obj文件夹中的正确的程序发生冲突。

其他回答

当将core升级到VS2017时,另一个解决方案是在属性\assemblyinfo.cs文件中删除它们。

因为它们现在存储在项目中。

在我的例子中,在项目中有一个子文件夹,它本身就是一个项目文件夹:

文件系统: c: \ \ webapi \ wepapi.csproj项目 c: \ \ webapi \ \ wepapitests.csproj测试项目 解决方案 Webapi(文件夹和项目) 测试(文件夹) 测试(文件夹和项目)

然后我不得不从“webapi”项目中删除子文件夹“tests”。

EDIT 2022:为了更清楚,正如@bobt在评论中提到的那样,我说的“删除”是指:右键单击webapi中的“测试”文件夹,并选择“排除项目”选项。

我也有同样的错误,它在程序集版本和程序集文件版本下划线,所以阅读Luqi答案,我只是把它们作为注释添加了进去,错误就解决了

// 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")]

对我来说,AssembyInfo.cs和SolutionInfo.cs有不同的值。所以也检查一下这些文件。我只是把其中一个版本删除了。

这里的项目中必须已经有一个AssemblyInfo.cs文件:

解决: —删除任意一个AssemblyInfo.cs