开始-》程序-》Microsoft Visual Studio 2005-》Visual Studio Tools-》Visual Studio 2005 命令提示然后进入你的类目录,比如你的类文件是在E:/test/App_Code下面,输入如下命令:csc /target:library File.cs其中file.cs为你的类文件。然后即可生成同名的dll文件!!!
2楼 正解如果说有需要,可以创建一个类库,类库就是生成一个dll文件
发布网站就发布的文件中就有DLL 文件了,或添加新项类库,然后生成一下,就有DLL 文件了
c#动态编译System.CodeDom.Compiler.ICodeCompiler comp = provider.CreateCompiler(); System.CodeDom.Compiler.CompilerParameters cp = new System.CodeDom.Compiler.CompilerParameters(); cp.ReferencedAssemblies.Add("system.dll") ; cp.ReferencedAssemblies.Add("system.data.dll") ; cp.ReferencedAssemblies.Add("system.xml.dll") ; cp.GenerateExecutable = false ; cp.GenerateInMemory = true ; string code = @"using System; using System.Data; using System.Xml; public class Judgement { public object GetJude() { return (" + expression + @"); } }" ; System.CodeDom.Compiler.CompilerResults cr = comp.CompileAssemblyFromSource(cp,code); System.Diagnostics.Debug.Write(code); if(cr.Errors.HasErrors) { System.Text.StringBuilder errorMsg = new System.Text.StringBuilder();
foreach(System.CodeDom.Compiler.CompilerError err in cr.Errors) { errorMsg.Append(err.ErrorText ); } System.Diagnostics.Debug.WriteLine(errorMsg.ToString());
System.CodeDom.Compiler.CompilerParameters cp = new System.CodeDom.Compiler.CompilerParameters();
cp.ReferencedAssemblies.Add("system.dll") ;
cp.ReferencedAssemblies.Add("system.data.dll") ;
cp.ReferencedAssemblies.Add("system.xml.dll") ;
cp.GenerateExecutable = false ;
cp.GenerateInMemory = true ;
string code = @"using System;
using System.Data;
using System.Xml;
public class Judgement
{
public object GetJude()
{
return (" + expression + @");
}
}" ;
System.CodeDom.Compiler.CompilerResults cr = comp.CompileAssemblyFromSource(cp,code);
System.Diagnostics.Debug.Write(code);
if(cr.Errors.HasErrors)
{
System.Text.StringBuilder errorMsg = new System.Text.StringBuilder();
foreach(System.CodeDom.Compiler.CompilerError err in cr.Errors)
{
errorMsg.Append(err.ErrorText );
}
System.Diagnostics.Debug.WriteLine(errorMsg.ToString());
throw new System.Exception("编译错误: " + errorMsg.ToString());
//return false;
}
else
{
System.Reflection.Assembly tmp = cr.CompiledAssembly;
object _Compiled = tmp.CreateInstance("Judgement");
System.Reflection.MethodInfo mi = _Compiled.GetType().GetMethod("GetJude");
return mi.Invoke(_Compiled,null);
}
可是它说没找到路径啊?我的类是在D盘>hao123>App_Code文件夹下面的,你帮帮我看看好吗?
Visual就是使用类库项目模版.