.net C# 动态编译 cs2001 错误 处理
2015-02-02 09:20
741 查看
使用下面代码:
编译错误如下:
修改为可以正确编码的代码
var provider = CodeDomProvider.CreateProvider("cs"); // Create a code snippet to be used in the graph. GenCodeFromMember(provider, new CodeGeneratorOptions()); var dd = typeof(ABCcs); var 获取引用的程序集合 = dd.Module.Assembly.GetReferencedAssemblies(); //是否从全局应用程序缓存加载 //dd.Module.Assembly.GlobalAssemblyCache; var resl= from an in 获取引用的程序集合 let ass= System.Reflection.Assembly.Load(an) select (ass.GlobalAssemblyCache? an.Name + ".dll" //引用外部dll "C:\mydll.dll" : " /r \" " + an.Name + "\""); ; CSharpExe codrun = new CSharpExe(); string code = @" namespace Codes{ public class TTTest { public string NewJosn(object a) { return Newtonsoft.Json.JsonConvert.SerializeObject(a); } } }"; codrun.CompilerCparmae.ReferencedAssemblies.Clear(); //引用外部dll /reference:"C:\mydll.dll" codrun.CompilerCparmae.ReferencedAssemblies.AddRange(resl.ToArray()); System.Reflection.Assembly dyAss = null; ///动态生成程序集合 System.Linq.Enumerable.Range(1, 100).ToList().ForEach((o) => { var ddd = codrun.RunCode(code); var sb = ddd; dyAss = ddd.CompiledAssembly; });
编译错误如下:
修改为可以正确编码的代码
var resl= from an in 获取引用的程序集合 let ass= System.Reflection.Assembly.Load(an) select (ass.GlobalAssemblyCache? an.Name + ".dll" //引用外部dll "C:\mydll.dll" : "\""+ass.Location +"\""); ;
相关文章推荐
- [转][C#] .net动态编译C# 和 VB
- CS-Script,C#动态编译引擎
- C#动态编译引擎-CS-Script 简单使用
- 动态编译辅助工具——CS-Script - The C# Script Engine
- C#动态编译引擎-CS-Script 简单使用
- 程序发布出现: 服务器无法处理请求--->无法生成临时类(result = 1)。 错误CS2001:未能找到源文件“C:\ Windows \ TEMP \ lph54vwf.0.cs”
- c#(SVG)无刷新,动态执行Javascript处理SVG对象:包含SVG的 页面.cs源码 (二)
- c#把cs文件编译为dll文件(二) 处理带有调用WebService方法的cs
- C#动态编译引擎-CS-Script
- .NET(C#):使用Win32Exception类型处理Win32错误代码
- 在.NET中动态编译与执行脚本文件
- C#16位MD5加密算法的一个错误测试数据处理
- .NET中一般处理程序(ashx)在Ajax中的使用--下拉列表的动态级连
- C#中动态编译应用程序
- c#下将.cs文件编译成dll
- .Net/C# 封装磁盘目录文件搜索功能的工具类 (实现了与搜索相关的事件,以便插入客户处理代码)
- 单独使用.net SDK 编译C#
- 动态编译执行c#代码
- 编译 Visual C# .NET 控制台应用程序时出现“无效参数”错误信息
- (转贴)一个C#动态编译的小例子