Udostępnij za pośrednictwem


Konfiguracje standardowego i niestandardowego zestawu narzędzi

Zestaw narzędzi MSBuild zawiera zadania, cele i narzędzia, które służą do budowania projektu aplikacji.Program MSBuild zawiera standardowy zestaw narzędzi, ale można również utworzyć niestandardowe zestawy narzędzi.Aby uzyskać informacje dotyczące sposobu określania zestaw narzędzi zobaczZestaw narzędzi MSBuild (ToolsVersion)

Standardowy zestaw narzędzi konfiguracji

MSBuild4.5 zawiera następujące standardowych zestawów narzędzi:

ToolsVersion

Zestaw narzędzi ścieżki (jak określono we właściwości build MSBuildToolsPath lub MSBuildBinPath)

2.0

Ścieżka instalacji systemu Windows\Microsoft.Net\Framework\v2.0.50727\

3.5

Ścieżka instalacji systemu Windows\Microsoft.NET\Framework\v3.5.20223\

4.0

Ścieżka instalacji systemu Windows\Microsoft.NET\Framework\v4.0.30319\

ToolsVersion Wartość określa, który zestaw narzędzi jest używany przez projekt, który generuje Visual Studio.Należy określić ToolsVersion jako atrybut w Projekt elementu z pliku projektu, ale można zastąpić tego atrybutu za pomocą /toolsversion przełączanie w wierszu polecenia.Informacje na temat tego atrybutu, ten przełącznik i inne sposoby określ ToolsVersion, zobacz Zastępowanie ustawień ToolsVersion.

Jeśli ToolsVersion nie jest określony, zdefiniuj następujące klucze ToolsVersion.

Gałąź rejestru

Nazwa klucza

Wartość klucza w ciągu

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\3.5\

DefaultToolsVersion

2.0

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\4.0\

DefaultToolsVersion

2.0

Następujące klucze rejestru, określ ścieżkę instalacji wersji.NET Framework, które są skojarzone z każdym ToolsVersion.Ścieżka instalacji określa również lokalizację MSBuild.exe, który definiuje zestaw narzędzi informacje.

Gałąź rejestru

Nazwa klucza

Wartość klucza w ciągu

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\2.0\

MSBuildToolsPath

Ścieżka instalacji 2.0.NET Framework

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\3.5\

MSBuildToolsPath

Ścieżka instalacji 3.5.NET Framework

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0\

MSBuildToolsPath

Ścieżka instalacji 4.NET Framework

Bb397428.collapse_all(pl-pl,VS.110).gifSub-zestawy narzędzi

Jeśli podklucz klucza rejestru w poprzedniej tabeli, program MSBuild używa go do określenia ścieżka sub zestaw, który zawiera więcej narzędzi.Następujący podklucz jest przykładem:

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0\11.0

VisualStudioVersion Właściwość build wskazuje, czy sub zestaw narzędzi staje się aktywny.Na przykład VisualStudioVersion określa wartość "11.0" sub-zestaw narzędzi.NET Framework 4.5.Aby uzyskać więcej informacji, zobacz sekcję zestawów narzędzi Sub Zestaw narzędzi MSBuild (ToolsVersion).

[!UWAGA]

Zaleca się, aby uniknąć zmiany tych ustawień.Niemniej jednak można dodać własne ustawienia i zdefiniować niestandardowy zestaw narzędzi komputera definicje, jak opisano w następnej sekcji.

Niestandardowe definicje zestaw narzędzi

Gdy standardowy zestaw narzędzi nie spełnia wymagań Twojej kompilacji, można utworzyć niestandardowy zestaw narzędzi.Na przykład, może mieć budować scenariusz laboratorium, w którym musi mieć oddzielny system dla budynku Visual C++ projektów.Za pomocą narzędzi niestandardowych, można przypisać wartości niestandardowych do ToolsVersion atrybut podczas tworzenia projektów lub uruchomić MSBuild.exe. W ten sposób można również użyć $(MSBuildToolsPath) właściwość, aby zaimportować pliki .targets z tego katalogu.

Określić niestandardowy zestaw narzędzi w pliku konfiguracyjnym dla MSBuild.exe (lub niestandardowe narzędzie, które obsługuje MSBuild silnika, jeśli jest to, co używasz).Na przykład plik konfiguracyjny dla MSBuild.exe zawiera następującą definicję zestawu narzędzi.

<msbuildToolsets default="3.0">
   <toolset toolsVersion="4.0">
      <property name="MSBuildToolsPath" 
        value="C:\Windows\Microsoft .NET\Framework\v3.0" />
   </toolset>
</msbuildToolsets>

<msbuildToolsets>muszą również być zdefiniowane w pliku konfiguracyjnym następująco.

<configSections>
   <section name="msbuildToolsets"       
       Type="Microsoft.Build.BuildEngine.ToolsetConfigurationSection, 
       Microsoft.Build.Engine, Version=3.5.0.0, Culture=neutral, 
       PublicKeyToken=b03f5f7f11d50a3a"
   </section>
</configSections>

[!UWAGA]

Aby odczytać prawidłowo, <configSections> musi być pierwszym podsekcji w <configuration> sekcji.

ToolsetConfigurationSectionjest sekcji konfiguracji niestandardowych, które można za pomocą dowolnego hosta dla konfiguracji niestandardowych.Jeśli używany jest niestandardowy zestaw narzędzi, host nie ma nic zrobić, aby zainicjować aparat kompilacji, z wyjątkiem zapewniają konfigurację wpisy w pliku.Definiując wpisy w rejestrze, można określić procesami komputera, które stosuje się do MSBuild.exe, Visual Studioi wszystkie hosty z MSBuild.

[!UWAGA]

Jeśli plik konfiguracyjny definiuje ustawienia dla ToolsVersion który został już zdefiniowany w rejestrze, dwie definicje nie są scalane.Definicja w pliku konfiguracyjnym ma pierwszeństwo i ustawień w rejestrze do tego ToolsVersion są ignorowane.

Następujące właściwości są specyficzne dla wartości ToolsVersion to jest używane w projektach:

  • $(MSBuildBinPath) jest ustawiona na ToolsPath wartość, która jest określona w rejestrze lub w pliku konfiguracyjnym gdzie ToolsVersion jest zdefiniowany.$(MSBuildToolsPath) Ustawienie w rejestrze lub w pliku konfiguracyjnym Określa lokalizację zestaw narzędzi.W pliku projektu mapy z właściwością $(MSBuildBinPath) i właściwość $(MSBuildToolsPath).

  • $(MSBuildToolsPath) jest zarezerwowane właściwość, która jest dostarczana przez właściwość MSBuildToolsPath, która jest określona w pliku konfiguracyjnym.(Ta właściwość zastępuje $(MSBuildBinPath).Jednakże $(MSBuildBinPath) jest przenoszona na zgodnooć.)

Również można dodać właściwości niestandardowe, specyficzne dla ToolsVersion do pliku konfiguracji przy użyciu tej samej składni, która służy do dodawania właściwości MSBuildToolsPath.Aby udostępnić te właściwości niestandardowe do pliku projektu, należy użyć tej samej nazwy jako nazwę wartości, która jest określona w pliku konfiguracyjnym.

Zobacz też

Koncepcje

Zestaw narzędzi MSBuild (ToolsVersion)