私は、トランスレータツールを簡略化するための解決策を模索しようとしています。したがって、私は現在、自分のコード内からSatelliteアセンブリを自動的にコンパイルしようとしています。コード内から衛星アセンブリを生成することは可能ですか?
それでは、私はachiveたいのは、次のコマンドを手動で実行を置き換えることです:
AL.exe /culture:de /out:de\TestResource.resources.dll /embed:TestResource.de.resources
これまでのところ、私が働いていた.dllファイルを生成するテストしてみました。しかし、以下に示すようなリソースを埋め込み/リンクしても効果はありませんが、DLLのサイズは大きくなります。だから明らかにそこにはありますが、結果として得られるdllが衛星アセンブリであるかのようには使えません。
static void Main(string[] args)
{
CSharpCodeProvider codeProvider = new CSharpCodeProvider();
CompilerParameters parameters = new CompilerParameters();
parameters.GenerateExecutable = false;
parameters.OutputAssembly = "./output/satellite_test.dll";
parameters.EmbeddedResources.Add(@"./TestResource.en.resources");
parameters.LinkedResources.Add(@"./TestResource.de.resources");
CompilerResults results = codeProvider.CompileAssemblyFromSource(parameters, "");
}
それはサテライトアセンブリとして使用可能だように、一つの言語のためだけにローカライズされたリソースを含むDLL、プログラムを生成する方法は、ありますか?