6

Visual Studio プロジェクト ファイルには、考えられる構成がいくつかあります。デフォルトで選択されているものを指定するにはどうすればよいです.suoか (no が存在しない場合)。現在、Visual Studio でプロジェクトを開くと、既定で [デバッグ構成] が選択されています。

プロジェクト ファイルの関連部分:

<PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>...</ProductVersion>
    <SchemaVersion>...</SchemaVersion>
    <ProjectGuid>{...}</ProjectGuid>
    <OutputType>...</OutputType>
    <RootNamespace>...</RootNamespace>
    <AssemblyName>AAAAA</AssemblyName>
    <MyType>Windows</MyType>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>Full</DebugType>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <Optimize>false</Optimize>
    <OutputPath>Bin\Release</OutputPath>
    <DocumentationFile>AAAAA.xml</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <DefineDebug>true</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <OutputPath>bin\</OutputPath>
    <DocumentationFile>AAAAA.xml</DocumentationFile>
    <PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>

この構成をデフォルトで選択したい:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>Full</DebugType>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <Optimize>false</Optimize>
    <OutputPath>Bin\Release</OutputPath>
    <DocumentationFile>AAAAA.xml</DocumentationFile>
</PropertyGroup>
4

2 に答える 2

11

Visual Studio は、常にソリューションを通じてビルドを呼び出します。各ソリューション構成には (大文字と小文字を区別しない) 名前があり、各プロジェクトがその構成にマップされます。ソリューションの構成は[ビルド] > [構成マネージャー]で編集でき、現在アクティブな構成がそこで選択されるか、ツールバーのドロップダウンで選択されます。

どのソリューション ビルド構成が使用されていますか?

アクティブなビルド構成は、ソリューション ユーザー オプション ファイル ( .suo) に保存されます。これはユーザーごとの構成であり、ソース管理ではチェックしないでください。このための共有構成はありません。

ファイルが存在しない場合.suo、VS は構成を選択します。その名前は、いくつかの例外を除いて最初にアルファベット順に並べ替えられます。

  • 「Debug」で始まるすべての名前は、「A」の前に並べ替えられます。
  • S1 ␣<em>S2は、任意の 2 つの文字列S1およびS2に対してS1の前にソートされます。(␣はスペースを表します。)

たとえば、この構成のリストがある場合、デフォルトで「すべてをデバッグ」が選択されます。リストの最初の構成を削除し、VS を閉じて*.suoファイルを削除すると、リストの次の構成がデフォルトで選択されます。

すべてをデバッグ
デバッグ
デバッグ
リリース
Aリリース
リリース
ウィンターバッシュ

VS は異なる順序で表示されることに注意してください。

リリース
Aリリース
デバッグ
すべてをデバッグ
デバッグ
リリース
ウィンターバッシュ

どのソリューションが使用されていますか?

プロジェクト ファイル (例: MyProject.csproj) を直接開くと、Visual Studio はソリューション ファイルを見つけようとします。

  1. 同じディレクトリ ( ) 内の同じ名前のソリューションMyProject.slnが優先されます。見つかった場合は、それが使用されます。
  2. 同じディレクトリ ( *.sln) 内の他のソリューションが検索されます。正確に 1 つ見つかった場合は、それが使用されます。
  3. 親ディレクトリで解決策が検索されます ( ..\*.sln)。正確に 1 つ見つかった場合は、それが使用されます。
  4. それ以外の場合、VS はMyProject.slnプロジェクトのみを含む新しいソリューション (という名前) を作成し、終了時にそれを保存する場所を尋ねます。この新しいソリューションのビルド構成は、プロジェクトのビルド構成に対応しています。

これは、プロジェクトのない裸のファイルもサポートするため、今後の VS 2017 ではおそらく異なることに注意してください。

ソリューションへのパスは、[プロパティ] ウィンドウのパスとして表示されます。(最初にソリューション エクスプローラーでソリューションを選択します。)


ちなみに、プロジェクト ファイルの最初の部分は、プロパティが空 (指定されていない)PropertyGroupの場合に MSBuild で使用される既定値を指定します。Visual Studio は常にこれらのプロパティを指定するため、既定値は関係ありません。ConfigurationPlatform

于 2017-01-03T14:40:53.507 に答える