我正在开发一个通过运行dotnet new angular
(Clear blog explanation of usage)来开始生活的Web应用程序。
为了扩展默认代码的功能,我开始开发Web API。我添加了3个名为Shared
,Scheduling
和Scheduling_Tests
的.Net核心库项目。
在Scheduling
中定义了一些域模型类,在Shared
中定义了一些基类,最后在ShedulingTests
中定义了一些NUnit测试。
构建解决方案时,我的Web应用程序项目中会出现2个新文件夹:Shared
和Scheduling
。我也遇到如下构建错误:
Error CS0579 Duplicate 'System.Reflection.AssemblyCompanyAttribute'
我不知道该去哪里,任何建议都会非常受欢迎。
答案 0 :(得分:5)
发生这种情况是因为新的.NET工具会自动创建属性并将其添加到程序集中,因此它们现在在构建中出现两次。
有两种解决方法:
删除AssemblyInfo.cs
保留AssemblyInfo.cs,但是将标签添加到CSProj文件中以隐藏AssemblyInfo中的属性。
例如:
<PropertyGroup> <TargetFramework>netstandard2.0</TargetFramework> <GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute> <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute> <GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute> <GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute> <GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute> <GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute> <GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute> </PropertyGroup>
(感谢https://johnkoerner.com/csharp/dealing-with-duplicate-attribute-errors-in-net-core/)
答案 1 :(得分:1)
您是否检查过项目中是否有 AssembleyInfo.cs 文件?如果是,则尝试删除它并重建项目。