相关疑难解决方法(0)

单声道编译器即服务(MCS)

我想从我的常规.NET 3.5应用程序中使用Mono的编译器作为服务.

我已经下载了最新的位(2.6.7),在Visual Studio中创建了一个简单的控制台应用程序并引用了Mono.CSharp dll.

然后,在我的控制台应用程序中(直接在线样本):

    Evaluator.Run("using System; using System.Linq;");
    bool ress;
    object res;
    Evaluator.Evaluate(
         "from x in System.IO.Directory.GetFiles (\"C:\\\") select x;",
         out res, out ress);

    foreach (var v in (IEnumerable)res)
    {
        Console.Write(v);
        Console.Write(' ');
    }
Run Code Online (Sandbox Code Playgroud)

这会在Evaluator.Run(第一行)引发异常:

Illegal enum value: 2049.
Parameter name: access
Run Code Online (Sandbox Code Playgroud)

这是因为dll是使用Mono.exe编译的,而不是csc.exe,我相信.

我已经尝试直接从demo-repl.zip文件中的http://tirania.org/blog/archive/2010/Apr-27.html下载Mono.CSharp dll ......这不会引发异常. ..但是在调用Evaluator.Evaluate之后out参数(res)是null ...所以我不确定出了什么问题.没有例外被抛出......

所以,我想弄清楚为什么我从demo-repl.zip下载的dll返回null.

编辑:我弄清楚它为什么返回null.看起来由于某种原因,编译器没有拿起System.Linq命名空间......虽然我不知道为什么......如果我只是评估"System.IO.Directory.GetFiles(\"C:\\ ")",它工作正常.

更新:看起来Mono编译器拾取引用的系统程序集似乎有问题.如果我直接复制其csharp控制台工具的示例:

csharp> var list = new int [] {1,2,3};
csharp> var b = from x in list
   >    where x > 1
   >    select x; …
Run Code Online (Sandbox Code Playgroud)

.net c# compiler-construction mono gmcs

8
推荐指数
1
解决办法
4793
查看次数

在C#4.0中使用字符串构建Linq查询 - 最佳实践

目前我正在使用LinqKit/Ms动态查询示例从字符串动态构建Linq表达式.这很好用.

  1. LinqKit:http://www.albahari.com/nutshell/linqkit.aspx
  2. Microsoft动态Linq查询:http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx

现在,我正在将我的应用程序从C#3.5迁移到C#4.0.我想知道是否有另一种方式(框架的标准方式)从字符串构建查询.

我检查了文档,但还没有找到任何内容.这也不是问题,因为我有上述解决方案.

只有我喜欢使用"标准"功能.什么是最佳做法?

linq dynamic c#-4.0

7
推荐指数
1
解决办法
7368
查看次数

使用.NET Framework 4的动态LINQ API

动态LINQ API(与CSharpSamples一起发布),还是要走的路,还是.NET 4(和EF 4)有不同/替代的方法?

linq entity-framework-4

6
推荐指数
1
解决办法
3698
查看次数

如何在C#中缓存反射

您好,我对反射很熟悉,我已经通过大量的例子,我知道它是如何工作的,以及我们可以使用它的目的.但我没有得到缓存反射的任何例子,我也不知道它是什么意思.不知何故,我必须在我正在做的项目中使用反射缓存.

因此,如果有人可以简单地解释这个概念并给出一些例子,我将不得不承认,现有例子的链接也将受到赞赏.并且还请描述属性的反映及其缓存.提前致谢.

关心Umair

c# reflection system.reflection

0
推荐指数
1
解决办法
2418
查看次数