C# 理解代码时遇到的问题
我无法理解下面给出的代码,所以任何人都可以帮助我理解代码C# 理解代码时遇到的问题,c#,C#,我无法理解下面给出的代码,所以任何人都可以帮助我理解代码 private bool Compile(string path) { bool result; using (CSharpCodeProvider prov = new CSharpCodeProvider()) { CompilerParameters param = new CompilerParameters(); string pathtoicon = ""; if (F
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;
}
简而言之,上面的代码使用.NET framework中可用的编译器类编译一个新的.NET程序集 以下是一些可能对您有所帮助的文档:
您无法理解代码的哪一部分?param.CompilerOptions=/target:winexe++/win32icon:+\+pathtoicon++;param.GenerateExecutable=true;param.includedebuginfo=false;参数EmbeddedResources.AddenEnvironment.GetEnvironmentVariableTEMP+\\points.dat;param.OutputAssembly=路径;param.GenerateInMemory=false;param.referencedAssemblys.AddSystem.dll;你能帮我理解这个部分吗?代码实际上是在创建一个程序集。正在创建编译器参数/选项。-这里有更多细节-