Zadanie GenerateResource
Konwertuje między .txt i .resx (zasobów opartych na języku XML format) pliki i wspólnego języka runtime .resources binarne pliki osadzone w wykonywalny binarne runtime lub skompilowane zestawy.To zadanie jest zazwyczaj używany do konwersji plików .txt lub .resx do plików .resource.GenerateResource Zadanie jest podobne do resgen.exe.
Parametry
W poniższej tabeli opisano parametry GenerateResource zadania.
Parametr |
Opis |
---|---|
AdditionalInputs |
Opcjonalny ITaskItem[] parametru. Zawiera dodatkowe dane wejściowe do Sprawdzanie zależności wykonywane przez to zadanie.Na przykład pliki projektu i cele zazwyczaj powinny być nakładów, tak, że jeśli są one aktualizowane, wszystkie zasoby są generowane. |
EnvironmentVariables |
Opcjonalny String[] parametru. Określa tablicę pary nazwa wartość środowiska zmiennych, które powinny być przekazywane do resgen.exe zduplikowanego, oprócz (lub selektywnie przesłanianie) blok środowiska regularnych. |
ExcludedInputPaths |
Opcjonalny ITaskItem[] parametru. Określa tablicę elementów określających ścieżki, z których śledzone dane wejściowe zostaną zignorowane podczas sprawdzania aktualne. |
ExecuteAsTool |
Opcjonalny Boolean parametru. Jeśli true, działa tlbimp.exe i aximp.exe z docelowych w odpowiedniej ramy out-of-proc do generowania Zespoły opakowaniowe niezbędne.Ten parametr umożliwia kierowanie multi z ResolveComReferences. |
FilesWritten |
Opcjonalny ITaskItem[] parametr wyjścia. Zawiera nazwy wszystkich plików, zapisane na dysku.Zawiera plik pamięci podręcznej, jeśli istnieje.Ten parametr jest użyteczny dla implementacji Oczyść. |
MinimalRebuildFromTracking |
Opcjonalny Boolean parametru. Zwraca lub ustawia przełącznik, który określa, czy będzie używana śledzone przyrostowe kompilacji.Jeśli true, build przyrostowe jest włączone; w przeciwnym razie będzie zmuszony przebudowanie. |
NeverLockTypeAssemblies |
Opcjonalny Boolean parametru. Określa nazwę wygenerowane pliki, takie jak pliki .resources.Jeżeli nazwa nie jest określona, używana jest nazwa odpowiedniego pliku wejściowego i utworzony plik .resources jest umieszczana w katalogu, który zawiera plik wejściowy. |
OutputResources |
Opcjonalny ITaskItem[] parametr wyjścia. Określa nazwę wygenerowane pliki, takie jak pliki .resources.Jeżeli nazwa nie jest określona, używana jest nazwa odpowiedniego pliku wejściowego i utworzony plik .resources jest umieszczana w katalogu, który zawiera plik wejściowy. |
PublicClass |
Opcjonalny Boolean parametru. Jeśli true, tworzy klasę zasobu jednoznacznie jako public class. |
References |
Opcjonalny String[] parametru. Odniesienia do ładowania typów w plikach .resx od.Może mieć elementów danych w pliku ResX.Typ sieci.Podczas odczytywania pliku .resx muszą to być rozwiązane.Zazwyczaj go rozwiązać pomyślnie za pomocą standardowego typu ładowania zasady.Jeśli podasz zestawów w References, ich pierwszeństwo. Ten parametr nie jest wymagane dla jednoznacznie zasobów. |
SdkToolsPath |
Opcjonalny String parametru. Określa ścieżkę do narzędzi zestawu SDK, takich jak resgen.exe. |
Sources |
Wymagane ITaskItem[] parametru. Określa elementy do konwersji.Elementy przekazywane do tego parametru musi mieć jedną z następujących rozszerzeniach:
|
StateFile |
Opcjonalny ITaskItem parametru. Określa ścieżkę do pliku pamięci podręcznej opcjonalne, używany do przyspieszenia sprawdzania łączy w plikach wejściowych .resx zależności. |
StronglyTypedClassName |
Opcjonalny String parametru. Określa nazwę klasy klasy jednoznacznie zasobów.Jeśli ten parametr nie jest określony, jest używana nazwa podstawowa pliku zasobu. |
StronglyTypedFilename |
Opcjonalny ITaskItem parametru. Określa nazwę pliku dla pliku źródłowego.Jeśli ten parametr nie jest określony, nazwa klasy jest używany jako podstawowy nazwy pliku z rozszerzeniem zależnych od języka.Na przykład: MyClass.cs. |
StronglyTypedLanguage |
Opcjonalny String parametru. Określa język używany podczas generowania źródłowy klasy jednoznacznie zasobu.Ten parametr musi odpowiadać dokładnie jeden z języków używanych przez dostawca CodeDomProvider.For example: VB or C#. Przekazując wartość tego parametru, można poinstruować zadania, aby wygenerować jednoznacznie zasobów. |
StronglyTypedManifestPrefix |
Opcjonalny String parametru. Określa prefiks obszaru nazw lub manifest zasobów do użytku w źródle wygenerowanej klasy jednoznacznie zasobów. |
StronglyTypedNamespace |
Opcjonalny String parametru. Określa obszar nazw, aby użyć źródła wygenerowanej klasy jednoznacznie zasobu.Jeśli ten parametr nie jest określony, wszystkie zasoby jednoznacznie są w globalnej przestrzeni nazw. |
TLogReadFiles |
Opcjonalny ITaskItem[] parametr tylko do odczytu. Pobiera tablicę elementów, które reprezentują odczytu, dzienniki śledzenia. |
TLogWriteFiles |
Opcjonalny ITaskItem[] parametr tylko do odczytu. Pobiera tablicę elementów, które reprezentują zapisu śledzenia Dzienniki. |
ToolArchitecture |
Opcjonalny [String] parametru. Używane do ustalenia, czy nie Tracker.exe musi służyć uruchomić ResGen.exe. Powinny być parsable z członkiem ExecutableType wyliczania.Jeśli String.Empty, używa heurystykę, aby określić architektury domyślne.Powinny być parsable z członkiem wyliczenia Microsoft.Build.Utilities.ExecutableType. |
TrackerFrameworkPath |
Opcjonalny [String] parametru. Określa ścieżkę do odpowiednich.NET Framework lokalizacji, która zawiera FileTracker.dll. Jeśli zestaw, użytkownik bierze odpowiedzialność za zapewnienie, że bitowości FileTracker.dll, który przechodzą one dopasowuje bitowości ResGen.exe, które zamierzają użyć.Jeśli nie zestawu, zadanie postanowi odpowiedniej lokalizacji na podstawie bieżącej.NET Framework w wersji. |
TrackerLogDirectory |
Opcjonalny [String] parametru. Określa pośrednie katalogu, w którym będą umieszczane dzienniki śledzenia od uruchomienia tego zadania. |
TrackerSdkPath |
Opcjonalny [String] parametru. Określa ścieżkę do odpowiedniej lokalizacji Windows SDK, który zawiera Tracker.exe. Jeśli zestaw, użytkownik bierze odpowiedzialność za zapewnienie, że bitowości Tracker.exe, który przechodzą one dopasowuje bitowości ResGen.exe, które zamierzają użyć.Jeśli nie zestawu, zadanie postanowi odpowiedniej lokalizacji na podstawie bieżącego zestawu SDK systemu Windows. |
TrackFileAccess |
Opcjonalny [Boolean] parametru. Jeśli ma wartość true, katalogu pliku wejściowego jest używany do rozpoznawania ścieżki względne plików. |
UseSourcePath |
Opcjonalny Boolean parametru. Jeśli true, określa, że jest katalogu pliku wejściowego, stosowaną dla rozwiązywania ścieżki względne plików. |
Uwagi
Ponieważ pliki .resx mogą zawierać łącza do innych plików zasobów, nie jest wystarczające, aby po prostu porównać sygnatury czasowe pliku .resx i .resource do sprawdzenia, czy dane wyjściowe są aktualne.Zamiast tego GenerateResource zadanie następuje łącza w plikach .resx i sprawdza, czy znaczniki czasu plików połączonych.Oznacza to, że nie należy generalnie używać Inputs i Outputs atrybuty zawierające docelowej GenerateResource zadania, ponieważ może to spowodować ona pominięta, gdy rzeczywiście należy uruchomić.
Oprócz parametrów wymienionych powyżej, to zadanie dziedziczy parametry z TaskExtension , które sama klasa dziedziczy z Task klasy.Aby uzyskać listę tych dodatkowych parametrów, a ich opisy, zobacz Klasa bazowa TaskExtension.
Podczas korzystania z programu MSBuild 4.0 do obiektu docelowego.NET 3.5 projektów, budowanie może nie działać na x 86 zasobów.Aby obejść ten problem, można utworzyć obiekt docelowy jako zespół AnyCPU.
Przykład
W poniższym przykładzie użyto GenerateResource zadanie do generowania plików .resources od pliki określone przez Resx element z kolekcji.
<GenerateResource
Sources="@(Resx)"
OutputResources="@(Resx->'$(IntermediateOutputPath)%(Identity).resources')">
<Output
TaskParameter="OutputResources"
ItemName="Resources"/>
</GenerateResource>
GenerateResource <LogicalName> korzysta z zadania Metadane <EmbeddedResource> Element nazwy zasobu, który jest osadzony w zestawie.
Przy założeniu, że zestaw o nazwie myAssembly, poniższy kod generuje zasobów osadzonych, o nazwie someQualifier.someResource.resources:
<ItemGroup> <EmbeddedResource Include="myResource.resx"> <LogicalName>someQualifier.someResource.resources</LogicalName> </EmbeddedResource></ItemGroup>
Bez <LogicalName> metadane, zasób otrzymałby nazwę myAssembly.myResource.resources.Powyższy przykład dotyczy tylko proces kompilacji kodu języka Visual Basic i Visual C#.