我有一个项目,在编译时产生以下错误:
重复'AssemblyVersion'属性
我检查了文件AssemblyInfo.cs,看起来没有重复。
我在MSDN上找到了这篇文章,它解决了一个类似的问题,并按照这篇文章中的建议解决了这个问题。
有人能告诉我这是怎么回事吗?这种情况是否只发生在有两个或多个类名称相似的项目的情况下?还是其他原因?
我有一个项目,在编译时产生以下错误:
重复'AssemblyVersion'属性
我检查了文件AssemblyInfo.cs,看起来没有重复。
我在MSDN上找到了这篇文章,它解决了一个类似的问题,并按照这篇文章中的建议解决了这个问题。
有人能告诉我这是怎么回事吗?这种情况是否只发生在有两个或多个类名称相似的项目的情况下?还是其他原因?
当前回答
这里的项目中必须已经有一个AssemblyInfo.cs文件:
解决: —删除任意一个AssemblyInfo.cs
其他回答
在将旧项目转换为. net Core时,现在可以在项目本身设置AssemblyInfo.cs中的大部分信息。打开项目属性并选择Package选项卡以查看新的设置。
埃里克·l·安德森的帖子 “复制”System.Reflection。AssemblyCompanyAttribute ' attribute"描述了3个选项:
从AssemblyInfo.cs文件中删除冲突项, 完全删除文件或 禁用GenerateAssemblyInfo(在Serge Semenov的另一个回答中建议)
当我改变文件夹结构并尝试推送时,我也遇到了同样的问题。少管所让我先拔,我就拔了。这在旧文件夹和新文件夹中复制了我的源代码,所以在构建时出现了很多复制错误。
只需删除重复的文件夹就可以解决这个问题。
我的错误是我还引用了项目中的另一个文件,该文件也包含属性“AssemblyVersion”的值。我从其中一个文件中删除了该属性,现在它正常工作了。
关键是要确保在项目中的任何文件中声明这个值不超过一次。
如果您在Azure DevOps上的构建管道中遇到此问题,请尝试将构建操作设置为“Content”,并在AssembyInfo.cs文件属性中将“Copy to Output Directory”设置为“如果更新则复制”。
当将core升级到VS2017时,另一个解决方案是在属性\assemblyinfo.cs文件中删除它们。
因为它们现在存储在项目中。