2016-09-06 8 views
0

リソースファイル(.resx)を生成するツールがあります。 c#-Designファイルを更新するには、.resx-Filesに対して "カスタムコマンドを実行"する必要があります。GenerateResourceタスクは間違ったC#のコードを生成します。バージョン

これを自動化するために、GenerateResourceタスクをビルドファイルに追加しました。これは、すべてのコンパイルの前にc#ファイルを生成します。

GenerateResourceで生成されるコードには、次のものが含まれます。typeof(Default).Assembly。カスタムツールコマンドを実行すると、この部分はtypeof(Default).GetTypeInfo().Assemblyになります。

リソースファイルは、タイプTypeにプロパティAssemblyが含まれていないPCLプロジェクトの一部です。

コードには"System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0"が生成されていますが、代わりに"System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"で生成されている必要があります。

タスクで使用するバージョンを指定する方法はありますか?あるいは、プラグインに頼らずにこれらのソースファイルを自動的に生成する別の方法はありますか?

+0

すべて同じ問題があります。私の現在の回避策は[this](http://stackoverflow.com/questions/7837644/how-to-replace-string-in-file-using-msbuild)の質問に基づいています。私は、コードが生成された後、働いていないコールを働くコールに置き換えます。醜い。 – lokimidgard

答えて

0

私は同じ状況に陥り、GenerateResourceを調整して、SDKツールresgen.exeの目的のバージョンを使用する必要があります。 GenerateResourceタスクは、プロパティをSdkToolsPathとする。 $(TargetFrameworkSDKToolsDirectory)が役立つかもしれません。

関連する問題