2017-11-21 14 views
1

ausführen So ist die Anforderung, ich arbeite an einem Projekt, das eine lokalisierte Website für jede Sprache erstellen muss. Wir haben bereits einen Build in Englisch. Der Gedanke ist, dass wir eine Datenquelle (Ressourcen) erstellen, die Zuordnungen für jede Sprache für das ganze Projekt haben wird. Wir werden auch eine Konfigurationsdatei haben, die uns die Sprache (Locale), die in diesem Gebietsschema verwendeten Metriken etc. verrät. Wenn wir einen Debug/Release-Build erstellen, müssen wir ein Programm ausführen, das die Konfigurationen erfasst und einen Build für diese erstellt Konfigurationen.Gibt es eine Möglichkeit, einige Code kurz vor dem Erstellen einer Debug/Release-Build in Visual Studio

Beachten Sie, dass der ursprüngliche Build unverändert bleiben soll, da er verwendet wird, um Builds für so viele Sprachen wie möglich zu erstellen.

Antwort

1

Ja, in der Tat sind die Pre and Post build events für Szenarien gedacht, wie Sie beschreiben

Sie sie aus der Registerkarte Eigenschaften Ihres Projekts zugreifen:

enter image description here

+0

Aber würde das nicht meinen ursprünglichen Build selbst ändern? Ich möchte, dass mein ursprünglicher Build auf Englisch bleibt und separate Builds für jede Sprache erstellt. – Ankith

+1

Die Idee besteht darin, alle länderspezifischen Daten (Stringtabellen, Bilder usw.) in [separate Ressourcendateien] zu übertragen (https://msdn.microsoft.com/en-us/library/windows/desktop/dd373904%28v= vs.85% 29.aspx) – StuartLC

2

Sie müssen möglicherweise mehrere baut laufen Build-Skripte verwenden. Ihre Optionen sind Nant und MSBuild.

Im Build-Skript müssen Sie separate Pakete für verschiedene Sprachen erstellen, die Sie unterstützen.

1

Nach zwei Tagen habe ich eine Lösung und dank @Sunil und @StuartLC für ihre Eingabe. Die einfachste Lösung für meine Situation ist, dass ich nicht einmal separate Builds für jede Sprache erstellen muss. Ich kann einfach die untere Zeile in web.config unter system.web mit Kulturinformationen, die ich brauche, hinzufügen. Der Build wird für diese Kultur bereit sein.

//For English (United States) 
<globalization uiCulture="en-US" culture="en-US"/> 
//For German (Germany) 
<globalization uiCulture="de-DE" culture="de-DE"/> 

Da werde ich meine eigene Datenbank Ressource Provider verwenden, würde meine web.cofig Zeile wie folgt aussehen.

<globalization resourceProviderFactoryType="MyResourceProviderName.MyResourceProviderFactory" uiCulture="de-DE" culture="de-DE"/> 
<globalization resourceProviderFactoryType="MyResourceProviderName.MyResourceProviderFactory" uiCulture="en-US" culture="en-US"/> 

Ich hoffe, dass dies in Zukunft jemand helfen wird.

Verwandte Themen