我有一个项目,在编译时产生以下错误:
重复'AssemblyVersion'属性
我检查了文件AssemblyInfo.cs,看起来没有重复。
我在MSDN上找到了这篇文章,它解决了一个类似的问题,并按照这篇文章中的建议解决了这个问题。
有人能告诉我这是怎么回事吗?这种情况是否只发生在有两个或多个类名称相似的项目的情况下?还是其他原因?
我有一个项目,在编译时产生以下错误:
重复'AssemblyVersion'属性
我检查了文件AssemblyInfo.cs,看起来没有重复。
我在MSDN上找到了这篇文章,它解决了一个类似的问题,并按照这篇文章中的建议解决了这个问题。
有人能告诉我这是怎么回事吗?这种情况是否只发生在有两个或多个类名称相似的项目的情况下?还是其他原因?
当前回答
我刚从。net Framework切换到。net Core就出现了错误。我的Visual Studio解决方案中有2个类库项目。我发现其中一个项目有一个名为AssemblyInfo.cs的文件,而另一个项目没有这个文件。该文件位于Properties文件夹下。我只是删除了属性文件夹,一切工作正常。
其他回答
我最近遇到了这种情况,没有对源代码进行任何更改,但在尝试了一些新的项目参考之后。我进入了这样一种状态,即使在恢复了分支中的所有更改之后,这个错误仍然出现。
清理树枝解决了我的问题:
Git clean -xfd
如果我在Visual Studio 2017中编译项目,然后尝试用. net Core用命令行命令“dotnet run”重建并运行它,通常会发生这种情况。
简单地删除所有“bin”和“obj”文件夹——包括在“ClientApp”内部和直接在项目文件夹中——允许. net Core命令“dotnet run”重新构建并成功运行。
以我为例,我的一个同事删除了一个用于测试的控制台应用程序,它与我们的Api放在同一个目录下,然后提交给Git。 当我后来从Git中退出时,控制台应用程序本身当然已经消失了,但它的bin和obj文件夹仍然在那里,导致AssemblyInfo.cs文件出现在根应用程序目录和旧控制台应用程序的子目录中。简单地删除旧控制台应用程序的bin和obj文件夹就解决了这个问题。
ASP。NET Core 3.1
编辑AssemblyInfo.cs和#if !NETCOREAPP3_0…# endif
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
#if !NETCOREAPP3_0
[assembly: AssemblyTitle(".Net Core Testing")]
[assembly: AssemblyDescription(".Net Core")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct(".Net Core")]
[assembly: AssemblyCopyright("Copyright ©")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("000b119c-2445-4977-8604-d7a736003d34")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
#endif
我的错误发生是因为,不知何故,在我的控制器文件夹中创建了一个obj文件夹。只需在应用程序中搜索Assemblyinfo.cs中的一行。某处可能有副本。