2010-11-01 8 views
17

ich die folgende Warnung erhalten: CA1824 Mark Baugruppen mit Neutral“C# Warnung - Mark Baugruppen mit Neutral

Laut MSDN, die Ursache dafür ist: Anordnung mit einer ResX enthält -basierte Ressource, aber nicht das System.Resources.NeutralResourcesLanguageAttribute angewendet.

Könnte jemand bitte erklären, was es bedeutet? Ich möchte keine spezifische Kultureinstellung definieren. Ich möchte, dass sie anpassbar sind.

Antwort

20

Das NeutralResourcesLanguageAttribute informiert den Ressourcenmanager über die Sprache, die zum Anzeigen der Ressourcen verwendet wurde, die in der Hauptbaugruppe enthalten sind. Z.B. wenn Sie Ihre Montage kodiert, so dass es Mittel enthält, die in Englisch sind, schließen Sie dann die folgende Zeile in der AssemblyInfo.cs

[assembly: NeutralResourcesLanguage("en")] 

Auf diese Weise, wenn die Ressourcen auf Englisch nachschlagen, der Ressourcenmanager für eine nicht aussehen Englisch-Kultur-Satelliten-Assembly, sondern nur die Ressourcen in der Hauptversammlung verwenden. Dies ist eine reine Leistungsoptimierung.

+0

Wie kann ich die Lösung anwenden, wenn ich eine Website, keine Webanwendung habe? Ich habe keine AssemblyInfo.cs. –

+0

Sie sollten das Attribut in einer beliebigen C# -Datei in Ihrer Lösung hinzufügen können. In der Tat können Sie wahrscheinlich einfach AssemblyInfo.cs manuell hinzufügen. –

+2

Sie können auch zu Ihren Projekteigenschaften gehen und dann auf die Registerkarte Anwendung. Klicken Sie auf "Baugruppeninformationen". Das letzte Dropdown ist mit "Neutrale Sprache" beschriftet. Sie können es hier auch ändern. –

4

Die NeutralResourcesLanguage attribute teilt dem Ressourcenmanager die Sprache mit, die in Ihren neutralen Ressourcen verwendet wird (die Ressourcen, deren Dateiname kein Kulturcode-Suffix hat, z. B. YourModule.resx). Diese Information kann während der resource fallback process verwendet werden.