问题标签 [csharpcodeprovider]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
848 浏览

c# - CSharpCodeProvider 看不到堆栈System.Collections.Generic 下的类

我正在构建一个伪代码翻译器和编译器。它通过执行几个字符串操作将伪代码转换为代码,然后使用CSharpCodeProvider该类对其进行编译,最后尝试运行它。

经过几次测试,在翻译/输出代码如下的情况下:

当应用程序将此代码发送到 CSharpCodeProvider 时,它不会编译。在 compilerResults 中,我收到以下错误:“找不到类型或命名空间名称 'Stack'(您是否缺少 using 指令或程序集引用?)” (CS0246)

但是,当我将这段代码原封不动地放在 VS IDE 的一个新项目中时,它运行良好。

有什么猜测吗?

谢谢。

编辑:

我通过执行以下操作从 VB 调用 CSharpCodeProvider 编译器:

如何包含对 System.dll 的引用?

0 投票
1 回答
251 浏览

c# - 使用 CSharpCodeProvider 编译使用外部数据源的 LINQ 查询

我有一个查询需要创建为字符串,通过 WCF 传输,然后在另一端编译成 LINQ。我没有通过 WCF 传输实际 LINQ 查询本身的原因是,生成查询的方法不应该知道查询中使用的源类型(即没有依赖关系)。

这就是问题所在:我将查询作为字符串通过线路传递,让 CSharpCodeProvider 尝试编译它,但它找不到查询中引用的数据源(下面代码中的serverSource)。如何创建此查询并使用 CSharpCodeProvider 进行编译?

我已经尝试在运行时()编译之前定义serverSourcevar serverSource = application.GetStreamable<long>("serverSource"); ,但这对结果没有任何影响(无法找到serverSource的事实)。

提前致谢!

0 投票
1 回答
727 浏览

c# - 如果我不使用 CSharpCodeProvider 指定 CompilerVersion 会发生什么?为什么大多数示例都指定它?

CSharpCodeProvider使用passCompilerVersion参数的典型代码示例。来自这里的代码:

我尝试传递一个空字典,也尝试调用无参数构造函数,CSharpCodeProvider结果是一样的。

那么如果我不指定`CompilerVersion,内部会发生什么?为什么大多数样本总是指定它?

0 投票
1 回答
841 浏览

.net - 从 .EXE 创建 .EXE

所以我想做的是在vb的程序中创建一个可执行文件。我的意思是有一个程序可以输出.EXE。我尝试做的是创建一个可以输出运行预定义命令的较小程序的程序。

我所知道的是,它在某种程度上是可能的。您打开存根并向其添加额外代码并再次将其另存为 .EXE。

0 投票
1 回答
679 浏览

c# - csharpcodeprovider 是否支持 dllexport?

我正在尝试使用 C# CSharpCodeProvider 即时编译非托管 dll。编译成功,但是dll不起作用。这是我正在尝试做的事情:

这里是 C# tmp2.cs:

我究竟做错了什么?CSharpCodeProvider 不支持 Dllexport 吗?tmp2.cs 在 MS VS C# 2012 中编译成功并且工作正常。

0 投票
0 回答
374 浏览

razor - 使用 CompileAssemblyFromDom 时的 FileLoadException

我相信这是一个权限问题,但我不知道如何解决它,我收到以下异常:

执行以下代码时:

为清楚起见,CreateRazorEngine 代码为:

有人可以让我知道什么代码以及我需要把它放在哪里来提高安全级别,以便创建的程序集有足够的权限来加载它已经给出的引用。

0 投票
2 回答
202 浏览

.net - 在运行时编译可移植类库

在下面的示例中......而不是为 .Net“v4.0”编译,应该提供什么来编译 PCL 库?

0 投票
1 回答
1220 浏览

c# - Resx 文件并嵌入到程序集中

我有一个生成 DbContext 和迁移配置的 T4 模板。在运行时,我使用该模板创建程序集,然后使用该程序集生成迁移。但是,当我想做一个更新数据库时,仍然以编程方式。但是,我收到一个错误:

找不到适合指定区域性或中性区域性的任何资源。确保“EFMigrations._11_01_30.resources”在编译时被正确嵌入或链接到程序集“AutomatedMigrations”中,或者所有需要的附属程序集都是可加载的并且完全签名。

创建程序集的代码:

在 Update() 行上引发异常。

更新:

我已经执行了一个小技巧来解决这个问题(通过命名我的资源 Namespace.Class.resources,但是现在我收到一个错误:

流不是有效的资源文件

更新 2:

我通过创建另一个 T4 运行时模板并将资源中的值直接放入其中解决了这个问题。这是一个骇人听闻的解决方案,但它适用于我的目的。但是,我仍然对资源文件的行为以及它为什么不喜欢生成的资源文件感到恼火。

0 投票
0 回答
99 浏览

c# - 动态编译后的 Assembly.GetTypes() 只工作一次

(我找不到合适的标题)

我需要使用 C# CodeDomProvider 来编译几个文件,每个文件都包含一个类。我编写了一个“生成器”类,其中包含所述提供者(以及其他东西),它被调用来处理每个文件。我不能在这里跳过整个代码,但相关部分是:

在另一种方法中:

如果此代码在同一个生成器类中被调用两次,asm.GetTypes() 将只返回第一个编译的类型,而不是第二个。我还尝试以相同的结果重新实例化提供程序和编译参数。我还尝试重新实例化整个生成器类,同样的问题。编译期间不会抛出异常。

我可能做错什么?

0 投票
1 回答
507 浏览

c# - Visual Studio 2012 中是否有任何 C++ 代码提供程序

我使用以下代码作为 C# 和 VB.net 的代码提供程序

像这样,Visual Studio 2012 中是否有任何可用于 C++ 的代码提供程序