2012-05-14 8 views
7

Ostatnio dodałem kilka informacji o prawach autorskich do zestawu projektów C# (biblioteki DLL) za pomocą przycisku Właściwości-> Aplikacja-> Informacje o zespole. Mam kilka takich projektów w jednym rozwiązaniu. Po kompilacji dostaję komunikat o błędzie typu:Uzyskiwanie błędu czasu kompilacji CS0579: Zduplikowany atrybut "AssemblyFileVersionAttribute"

error CS0579: atrybut duplikat 'XXX'

gdzie 'XXX' to nazwa jednego z atrybutów I określonych (np AssemblyFileVersionAttribute)

Googling I stwierdzono, że w przypadku klasy, która pochodzi z klasy atrybutu, duplikaty mogą być dopuszczone przez zastosowanie:

[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=true)] 
class NewAttribute : System.Attribute { } 

Ale w moim przypadku, dodałem te atrybuty poprzez dialogowe właściwości i mają oświadczenia (w Assem blyInfo.cs dla każdego projektu), takie jak:

[assembly: AssemblyCompanyAttribute("My Company")] 
[assembly: AssemblyProductAttribute("My Product")] 
[assembly: AssemblyCopyrightAttribute("© 2012 My Company, All Rights Reserved.")] 
[assembly: AssemblyVersionAttribute("13.0.0.0")] 
[assembly: AssemblyFileVersionAttribute("1.0.0.0")] 

i nie mają żadnych ręcznie pochodzące klas atrybutów można dołączyć do żadnych kwalifikatorów.

Jak rozwiązać ten duplikat problemu?

+4

Czy wykonałeś globalne wyszukiwanie w projekcie dla 'AssemblyFileVersion'? –

+1

"AssemblyFileVersionAttribute" odnosi się do całego zespołu, jak wiesz, więc może masz więcej niż jeden plik .cs (w tym samym projekcie), który określa atrybut? –

+0

Możesz zobaczyć 'AttributeUsageAttribute', który posiada' AssemblyFileVersionAttribute' tutaj: [dokument MSDN] (http://msdn.microsoft.com/en-us/library/system.reflection.assemblyfileversionattribute.aspx) –

Odpowiedz

8

Myślę, że już określono te atrybuty w oknie Informacje o zestawie Okno projektu Właściwości. Jeśli to zrobiłeś, usuń te atrybuty z Informacje dotyczące montażu.

Powiązane problemy