web-dev-qa-db-ja.com

Visual Studio 2015、新しいリソースファイルのアクセス修飾子を変更できません

VS2015で新しいリソースファイルを作成しようとしています。うまく作成しましたが、「アクセス修飾子」を変更しようとすると、ドロップダウンが無効になります...

何か案は?

ASP.NET MVC 6(ASP.NET5)で作業しています。プロジェクトはクラスライブラリですが、Webプロジェクトでテストした結果は同じです。

ありがとう!

enter image description here

編集:プロパティウィンドウを追加しましたenter image description here

18
chemitaxis

ファイルのプロパティをチェックして、カスタムツールがResXFileCodeGeneratorであるかどうかを確認できますか? GlobalResourceProxyGeneratorの場合、ドロップダウンは無効になります。

13
arya404

同じ問題が発生しましたが、この簡単な解決策が見つかりました Visual Studioのアクセス修飾子ドロップダウンオプションがリソースファイルに対して無効になっています

要約する:

  1. ファイルリソースを右クリックし、[プロパティ](Alt + Enter)を選択します
  2. ビルドアクションを埋め込みリソースに変更
  3. カスタムツールをPublicResXFileCodeGeneratorに変更します
5
Aranha

A)InAsp.net Coreprojects

この問題は 既知のバグAsp.net Coreプロジェクトであり、アクセス修飾子はデフォルトでpublicにあり、変更することはできません。 asp.netコアチームの次の更新 but によって解決されますが、internalアクセス修飾子が必要な場合は、私の一時的な解決策を使用できます。

  1. リソースデザイナーによるすべてのアイテムをResource.resxに追加および保存
  2. ソリューションエクスプローラーで、Resource.resxツリーを展開し、Resource.Designer.csを開きます。
  3. のすべてのpublic文字列をinternalに置き換えて save it

注:Resource.resxファイルを保存するたびに、手順3 を再度実行する必要があります。

最後に、次のようなアクセス修飾子を含むResource.Designer.csファイルが必要です。 enter image description here

Resource.Designer.csファイルのnamespaceも確認してください。適切なnamespaceである必要があります。プロジェクトと同期するnamespace


B)通常のAsp.netプロジェクト

If リソース(Properties panel)ファイルの.resxCustomToolプロパティがない場合はPublicResXFileCodeGeneratorに変更します問題を解決します

次にプロジェクト(.csproj)ファイルのいくつかの設定を手動で変更する必要があります。それはとても簡単です、ちょうど私の指示に従ってください:

  1. solution Explorerでプロジェクトを右クリックし、プロジェクトのアンロードを選択します
  2. もう一度右クリックして、編集..... csproj を選択します。
  3. 開いた.csprojファイル、 find .resx文字列に、設定のブロックが表示されます。それは以下のコードのようなものです。
  4. を次のコードのようなものに変更します(PublicResXFileCodeGeneratorを含む):

<EmbeddedResource Include="MyResourceFile.resx">
      <SubType>Designer</SubType>

      <Generator>PublicResXFileCodeGenerator</Generator> <!--important line-->

      <LastGenOutput>MyResourceFile.Designer.cs</LastGenOutput>
</EmbeddedResource>
  1. 保存編集した.csprojファイル
  2. solution Explorerでプロジェクトをもう一度右クリックし、プロジェクトの再読み込みを選択します
  3. 今すぐ open .resxファイルを開いて楽しんでください;)

注:MyResourceFileの代わりにリソースファイル名を使用してください

3
RAM

私も同様の問題を抱えています。

これは既知の問題のようです: https://github.com/aspnet/Tooling/issues/339

2
Nagoh