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

重复'AssemblyVersion'属性

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

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

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


当前回答

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

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

其他回答

我刚刚帮助一个团队成员通过重命名回购文件夹重新克隆回购解决了这个问题。这只是一个开发人员的问题,因为团队中的其他人都能够在构建master时不碰到这个错误,所以我们知道这个问题不是源代码的问题。

我们确实尝试删除bin和obj文件夹,并执行git clean -xfd,但这些都没有解决这个问题。在这种情况下,用一个干净的回购副本重新开始是有效的。

我的错误是我还引用了项目中的另一个文件,该文件也包含属性“AssemblyVersion”的值。我从其中一个文件中删除了该属性,现在它正常工作了。

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

我在msdn上找到了这个答案,这解释了将文件标记为内容,然后复制到输出= If更新。请看下面的文章:

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

GH

我刚从。net Framework切换到。net Core就出现了错误。我的Visual Studio解决方案中有2个类库项目。我发现其中一个项目有一个名为AssemblyInfo.cs的文件,而另一个项目没有这个文件。该文件位于Properties文件夹下。我只是删除了属性文件夹,一切工作正常。

在我的例子中,在编译期间生成的一些临时*.cs文件被意外添加到项目中。

这些文件来自obj\Debug目录,所以它们肯定不应该被添加到解决方案中。A *.cs通配符有点疯狂,错误地添加了它们。

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