问题描述
我正在尝试使用 CSharpCodeProvider 来编译一段代码。
错误是:
c:\...\crust.cs(551,48) : error CS1061: 'string' does not contain a deFinition for 'Select' and no extension method 'Select' accepting a first argument of type 'string' Could be found (are you missing a using directive or an assembly reference?)
正在编译的代码是:
using System;
...
using System.Linq;
...
return new string(str.Substring(1).Select(character => (char)((character - 54545) ^ key)).ToArray());
...
...
String exeName = String.Format("NAME.exe");
CompilerParameters cp = new CompilerParameters
{
GenerateExecutable = true,GenerateInMemory = false,OutputAssembly = "NAME.exe",CompilerOptions = "/target:exe /platform:x64"
};
cp.ReferencedAssemblies.Add("System.dll");
...
cp.ReferencedAssemblies.Add("System.Linq.dll");
cp.GenerateExecutable = true;
cp.OutputAssembly = exeName;
cp.GenerateInMemory = false;
cp.TreatWarningsAsErrors = false;
CompilerResults cr = provider.CompileAssemblyFromFile(cp,sourceName);
...
注意: 编译器是64位 源代码正在编译为64位 编译器位于.net Framework 4.0中 源代码正在编译到.net 4.0
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)