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


88

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

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

考え?

回答:


115

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

アクティブソリューション構成のドロップダウン選択<New...>。追加すると、「構成変換の追加」ができるようになります。

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


6
ええと。私は以前にそれを試しましたが、「作成」ボックスのチェックを外すことができなかったため、「複製」として失敗していました。「作成」ボックスのチェックを外すとすぐに機能しました。
paulv7260 2012年

同じ@maplemaleここでは、まだ灰色オプション
アンダース・リンデン

申し訳ありませんが、これがどのように機能したか思い出せません。ジェレミーの答えとは逆に、slnファイルを直接ハッキングした可能性があります。これが唯一の実行可能なオプションである場合があります。VS2015にアップグレードしてから、この問題は発生していません。
maplemale 2016

2
ソリューションプロジェクトの構成が異なります。特定のプロジェクトでその変換を使用する前に、構成を作成する必要があります。「新しいプロジェクト構成の作成」をチェックして、すべてのプロジェクトで一度に構成を作成するか、@ paulv7260のように個別に作成します。
パトリック

1
それでもグレー表示される場合は、Webプロジェクトのビルド構成がソリューション構成の名前と一致していることを確認し、それが選択されていることを確認してください。
jmatthias 2017

45

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


この変換を追加したいだけなので、このソリューションは私にとってはるかにうまく機能します。新しいアクティブなソリューション構成は、ソリューション内のすべてのプロジェクトに影響を与えますが、私の場合は関係ありません。ありがとう!
ベン

完璧です。Visual Studio2015で編集している古いWebフォームプロジェクトで動作します。気に入ってください。ありがとうございました。
bkwdesign 2015

5
VS 2015でテストおよび作業中です。ただし、「Add Config Transform」がグレー表示されている理由がまだわかりません
Illidan 2016

20

私の場合、Visual Studio 2015で、プロジェクトテンプレートに基づいて新しいソリューションを作成したときに、[構成変換の追加]がグレー表示されていましたが、別の理由があります。

「すべてのファイルを表示」をクリックすると、ファイルがすでに存在していることがわかりました。非表示になっているだけです。そのため、ボタンはグレー表示されていました(すでに存在しているため、追加する必要がないため)。

  1. 「すべてのファイルを表示」アイコンをクリックします。
    ここに画像の説明を入力してください

  2. これで、「Web.config」を展開できます。
    ここに画像の説明を入力してください

  3. 変換ファイル(Web.Debug.configまたはWeb.Release.config)のいずれかをダブルクリックして、それを開いて編集します。

ノート:

  • 構成を追加したくありませんでした。デバッグリリースを使用するだけです。作成して選択し、変換ファイルがまだ存在しない場合は、コンテキストメニュー項目の[構成変換の追加]がアクティブであり、グレー表示されていません。

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


これは私にとっても状況でした。構成変換ファイルを表示したままにしておきたかったので<DependentUpon>Web.config</DependentUpon>、プロジェクトファイルでコメントアウトしました。変換は引き続き期待どおりに機能します。
イーサン2017

新しい構成変換を追加するにはどうすればよいですか?
reshma 2018

@ Reshma-Visual Studioでは、構成変換は構成と関連付けられています。構成マネージャー([デバッグ]または[リリース]を選択できるドロップダウン)を使用して、最初に新しい構成(myNewConfigなど)を追加します。次に、myNewConfigを選択します。次に、Web.configを選択し、右クリックしてコンテキストメニューの[構成変換の追加]を選択します。これにより、Web.myNewConfig.configが作成されます。
マット

私はそのマットを行い、1つの構成ファイルを追加できましたが、別の構成ファイルを追加しようとしていますが、「構成変換の追加」がグレー表示されています。また、次の構成ファイル用に新しい構成ファイルを作成しました
Reshma 2018

1
@ Reshma-構成ごとに1つしか持てないので、その通りです。別の構成を取得するには、myNewConfig2などの構成を1つ追加します。次に、myNewConfig2を選択して、再試行します。今回は灰色にしないでください。選択してください。注:その構成の構成ファイルが存在するとすぐにグレー表示されます。
マット

1

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

構成変換の追加がグレー表示されました。

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

<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

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

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

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

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

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


1

「構成変換の追加」オプションを有効にする方法。以下の手順に従ってください。ステップ1:ソリューション構成に移動(チームの下) ソリューション構成に移動(チームの下)

ステップ2:構成マネージャーをクリックします構成マネージャーを クリックします

ステップ3:アクティブなソリューション構成ウィンドウから新規を選択アクティブなソリューション構成ウィンドウ から新規を選択

ステップ4:プロダクション/ステージングなどの新しいアイテムに意味のある名前を付け、[リリース]オプションからコピー設定を選択します。デフォルトでチェックボックスがオンになっていない場合は、チェックボックスをオンにして、[OK]をクリックしてください。 プロダクション/ステージングのような新しいアイテムに意味のある名前を付けましょう

ステップ5:ソリューションエクスプローラーに戻り、Web.Configファイルを右クリックします。 Add ConfigTransformが有効になりました

ホラ!Add ConfigTransformが有効になりました。:)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.