-1
私は以下のコードを理解することができないので、コードの理解に誰も助けてくれます。コードの理解の問題
private bool Compile(string path)
{
bool result;
using (CSharpCodeProvider prov = new CSharpCodeProvider())
{
CompilerParameters param = new CompilerParameters();
string pathtoicon = "";
if (File.Exists(Application.StartupPath + "\\icon.ico"))
{
pathtoicon = Application.StartupPath + "\\icon.ico";
}
param.CompilerOptions = "/target:winexe" + " " + "/win32icon:" + "\"" + pathtoicon + "\"";
param.GenerateExecutable = true;
param.IncludeDebugInformation = false;
param.EmbeddedResources.Add(Environment.GetEnvironmentVariable("TEMP")+"\\points.dat");
param.OutputAssembly = path;
param.GenerateInMemory = false;
param.ReferencedAssemblies.Add("System.dll");
param.ReferencedAssemblies.Add("System.Data.dll");
param.ReferencedAssemblies.Add("System.Deployment.dll");
param.ReferencedAssemblies.Add("System.Drawing.dll");
param.ReferencedAssemblies.Add("System.Windows.Forms.dll");
param.ReferencedAssemblies.Add("System.Xml.dll");
param.TreatWarningsAsErrors = false;
CompilerResults compresults = prov.CompileAssemblyFromSource(param, Properties.Resources.Program);
result = compresults.Errors.Count == 0;
File.Delete(Environment.GetEnvironmentVariable("TEMP") + "\\points.dat");
}
return result;
}
? – Anuraj
param.CompilerOptions = "/ target:winexe" + "" + "/ win32icon:" + "\" "+ pathtoicon +" \ ""; param.GenerateExecutable = true; param.IncludeDebugInformation = false; param.EmbeddedResources.Add(Environment.GetEnvironmentVariable( "TEMP")+ "\\ points.dat"); param.OutputAssembly = path; param.GenerateInMemory = false; param.ReferencedAssemblies.Add( "System.dll"); この部分を理解するのを助けることができます.. – SurajRk
コードは実際にアセンブリを作成しています。コンパイラのパラメータ/オプションの作成。 - 詳細はこちら - http://msdn.microsoft.com/en-us/library/system.codedom.compiler.compilerparameters.aspx – Anuraj