我有一个项目,在编译时产生以下错误:
重复'AssemblyVersion'属性
我检查了文件AssemblyInfo.cs,看起来没有重复。
我在MSDN上找到了这篇文章,它解决了一个类似的问题,并按照这篇文章中的建议解决了这个问题。
有人能告诉我这是怎么回事吗?这种情况是否只发生在有两个或多个类名称相似的项目的情况下?还是其他原因?
我有一个项目,在编译时产生以下错误:
重复'AssemblyVersion'属性
我检查了文件AssemblyInfo.cs,看起来没有重复。
我在MSDN上找到了这篇文章,它解决了一个类似的问题,并按照这篇文章中的建议解决了这个问题。
有人能告诉我这是怎么回事吗?这种情况是否只发生在有两个或多个类名称相似的项目的情况下?还是其他原因?
当前回答
如果您在Azure DevOps上的构建管道中遇到此问题,请尝试将构建操作设置为“Content”,并在AssembyInfo.cs文件属性中将“Copy to Output Directory”设置为“如果更新则复制”。
其他回答
我刚刚帮助一个团队成员通过重命名回购文件夹重新克隆回购解决了这个问题。这只是一个开发人员的问题,因为团队中的其他人都能够在构建master时不碰到这个错误,所以我们知道这个问题不是源代码的问题。
我们确实尝试删除bin和obj文件夹,并执行git clean -xfd,但这些都没有解决这个问题。在这种情况下,用一个干净的回购副本重新开始是有效的。
我一直在这个问题上挣扎,但我的问题很容易解决。
我已经将OBJ文件夹复制到“OBJ___”名称来做一些编译测试。
所以,我不知道为什么,这个文件夹也被编译,创建程序集属性副本。
我只是删除了“OBJ___”文件夹,可以成功编译。
当我改变文件夹结构并尝试推送时,我也遇到了同样的问题。少管所让我先拔,我就拔了。这在旧文件夹和新文件夹中复制了我的源代码,所以在构建时出现了很多复制错误。
只需删除重复的文件夹就可以解决这个问题。
我也有同样的错误,它在程序集版本和程序集文件版本下划线,所以阅读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有不同的值。所以也检查一下这些文件。我只是把其中一个版本删除了。