web-dev-qa-db-ja.com

ASP.Net Webアプリケーションの追加構成変換のグレー表示

既存のASP.Net Webアプリケーションプロジェクトをソリューションに追加しました。このソリューションには、標準のデバッグ構成とリリース構成に加えて、SATとUATの2つのカスタム構成もあります。新しいWebアプリケーションの場合、Web.Configを右クリックするとコンテキストメニューが表示されますが、「Add Config Transform」のオプションはグレー表示されます。

私は迷っています。新しいプロジェクトはWebアプリケーションです。構成マネージャーには、このプロジェクトの2つのカスタム構成は表示されませんが、他のプロジェクトの場合は表示されます。プロジェクトのソリューションファイルに正しいエントリがあるようです。

考え?

82
paulv7260

最初に、構成マネージャーで構成を定義する必要があります。構成マネージャーを起動していることを確認するには、ビルド->構成マネージャーにアクセスしてアクセスできます。

Active Solution Configurationドロップダウンで、<New...>。追加すると、「構成変換の追加」が可能になります。

ソリューションファイルを直接編集しないでください。それは頭痛を引き起こすだけです。

104
Jeremy

PublishProfilesを使用するとき、私にとっての答えは、関連するpubxmlファイル(プロジェクトフォルダーPropertiesサブフォルダーPublishProfilesにあります)を右クリックし、Add Config Transform。マネージャーは必要ありません;)。

39
Paul Siersma

私の場合、Visual Studio 2015では、プロジェクトテンプレートに基づいて新しいソリューションを作成したときに、Add Config Transformがグレーアウトされていましたが、別の理由で:

"Show all files" をクリックすると、ファイルがすでに存在することが明らかになりました-非表示のみです。したがって、ボタンはグレーアウトされていました(既に存在するため、追加する必要がないため)。

  1. [すべてのファイルを表示]アイコンをクリックします。
    enter image description here

  2. これで、「Web.config」を展開できます。
    enter image description here

  3. 変換ファイル(Web.Debug.configまたはWeb.Release.config)開いて編集します。

注:

  • 追加の構成を追加したくありませんでした。単にDebugおよびReleaseを使用してください。作成し、それを選択し、変換ファイルがまだ存在しない場合、コンテキストメニュー項目Add Config Transformがアクティブになり、グレー表示されません。

  • 追加の構成変換ファイルを作成する場合は、Visual Studioでは構成変換が構成と相関していることに注意してください。別の変換を追加するには、最初に新しい構成を追加する必要があります。別の設定を追加するには、次の手順を実行します。設定マネージャー([デバッグ]または[リリース]を選択できるドロップダウン)を使用して、最初に新しい設定を追加します。 myNewConfig。次に、myNewConfigを選択します。ソリューションエクスプローラーでWeb.configを選択し、右クリックしてコンテキストメニューの[構成変換の追加]を選択します-Web.myNewConfig.configが作成されます。 VSが構成ごとに1つの変換しか許可しないため、コンテキストメニューが存在すると、コンテキストメニューが再びグレー表示されます。

14
Matt

これを機能させるには、csprojファイルに新しいプロパティグループを追加する必要がありました。

Add Config Transformはグレー表示されていました。

次のXMLをcsprojに追加し、プロジェクトをリロードしました。その後、構成変換の追加が使用可能になりました。選択すると、追加の変換が追加されました

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'IAT_CMCD|AnyCPU'">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>Prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'UAT_CM|AnyCPU'">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>Prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
1
JGilmartin

私は2つのことを実現することでこれを解決しました:

  1. ソリューションレベル構成があり、プロジェクトレベル構成があります。 web.MyConfigName.configは、projectレベルの構成に基づいて作成されます。
  2. Visual Studio 2017 Configuration Managerは、(非表示の)objフォルダーから追加する構成に基づいているようです。プロジェクトのobjフォルダーを削除して再ビルドすると、追加した構成でプロジェクトが更新されます。

「構成変換の追加」オプションを使用可能にするには、次の手順を実行します。

  1. 隠しファイルを表示が有効になっていることを確認してください
  2. ソリューションの構成マネージャーを開きます
  3. 関連するSolution configを選択し、プロジェクトの横のドロップダウンで<New..>または<Edit..>そして、あなたが望むものを追加、削除、編集しますProject configs。
  4. プロジェクトのobjフォルダーを削除します。再構築します。変更をプロジェクトとソリューションファイルに保存してください。また、理由はありませんので、Visual Studioも再起動しました。すべてのプロジェクト構成がobjフォルダー内のフォルダーとして表示されていることを確認します。
  5. Web.configを右クリックして、構成変換を追加します。

それが誰かを助けることを願っています。 :)

0