2
ローズンコンパイラの出力にアイコンを出力するにはどうすればよいですか? CodeDOMではEmit Win32Icon with Roslyn
私は単にCompilerOptionsを使用して「/ win32icon:」としてそれを追加することができ
しかし、どのようロザリンしますか?
私はこれを既に持っています。
var syntaxTree = CSharpSyntaxTree.ParseText(File.ReadAllText("program.cs"));
CSharpCommandLineArguments arguments = new CSharpCommandLineArguments();
arguments.Win32Icon = @"ICON PATH";
CSharpCompilation compilation = CSharpCompilation.Create(
"program",
new[] { syntaxTree },
new[] { MetadataReference.CreateFromFile(typeof(object).Assembly.Location) },
new CSharpCompilationOptions(OutputKind.ConsoleApplication));
ResourceWriter rs = new ResourceWriter("res.resources");
var resourceDescription = new ResourceDescription("program.Resources.resources",() => new MemoryStream(File.ReadAllBytes("res.resources")), true);
using (var dllStream = new MemoryStream())
using (var pdbStream = new MemoryStream())
{
var emitResult = compilation.Emit(dllStream, pdbStream, null,null, manifestResources: new [] {resourceDescription});
if (emitResult.Success)
{
File.WriteAllBytes("test.exe",dllStream.GetBuffer());
Console.WriteLine("compiled");
}
else
{
Console.WriteLine("foutje: {0}", emitResult.Diagnostics[0].ToString());
}
}
Console.ReadLine();
助けてくれてありがとう!