VS2015で新しいリソースファイルを作成しようとしています。うまく作成しましたが、「アクセス修飾子」を変更しようとすると、ドロップダウンが無効になります...
何か案は?
ASP.NET MVC 6(ASP.NET5)で作業しています。プロジェクトはクラスライブラリですが、Webプロジェクトでテストした結果は同じです。
ありがとう!
ファイルのプロパティをチェックして、カスタムツールがResXFileCodeGeneratorであるかどうかを確認できますか? GlobalResourceProxyGeneratorの場合、ドロップダウンは無効になります。
同じ問題が発生しましたが、この簡単な解決策が見つかりました Visual Studioのアクセス修飾子ドロップダウンオプションがリソースファイルに対して無効になっています
要約する:
- ファイルリソースを右クリックし、[プロパティ](Alt + Enter)を選択します
- ビルドアクションを埋め込みリソースに変更
- カスタムツールをPublicResXFileCodeGeneratorに変更します
A)InAsp.net Coreprojects
この問題は 既知のバグAsp.net Core
プロジェクトであり、アクセス修飾子はデフォルトでpublic
にあり、変更することはできません。 asp.netコアチームの次の更新 but によって解決されますが、internal
アクセス修飾子が必要な場合は、私の一時的な解決策を使用できます。
Resource.resx
に追加および保存Resource.resx
ツリーを展開し、Resource.Designer.cs
を開きます。public
文字列をinternal
に置き換えて save it注:
Resource.resx
ファイルを保存するたびに、手順3 を再度実行する必要があります。
最後に、次のようなアクセス修飾子を含むResource.Designer.cs
ファイルが必要です。
Resource.Designer.cs
ファイルのnamespace
も確認してください。適切なnamespace
である必要があります。プロジェクトと同期するnamespace
。
B)通常のAsp.netプロジェクト
If リソース(
Properties panel
)ファイルの.resx
にCustomTool
プロパティがない場合はPublicResXFileCodeGenerator
に変更します問題を解決します次にプロジェクト(
.csproj
)ファイルのいくつかの設定を手動で変更する必要があります。それはとても簡単です、ちょうど私の指示に従ってください:
solution Explorer
でプロジェクトを右クリックし、プロジェクトのアンロードを選択します.csproj
ファイル、 find .resx
文字列に、設定のブロックが表示されます。それは以下のコードのようなものです。PublicResXFileCodeGenerator
を含む):。
<EmbeddedResource Include="MyResourceFile.resx">
<SubType>Designer</SubType>
<Generator>PublicResXFileCodeGenerator</Generator> <!--important line-->
<LastGenOutput>MyResourceFile.Designer.cs</LastGenOutput>
</EmbeddedResource>
.csproj
ファイルsolution Explorer
でプロジェクトをもう一度右クリックし、プロジェクトの再読み込みを選択します.resx
ファイルを開いて楽しんでください;)注:
MyResourceFile
の代わりにリソースファイル名を使用してください
私も同様の問題を抱えています。
これは既知の問題のようです: https://github.com/aspnet/Tooling/issues/339