问题标签 [codedom]
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.
c# - 有没有办法让 CodeDom 在命名空间之前放置 using 语句
msdn 文档说将命名空间导入添加到 CodeNamespace.Imports 集合。这会将它们放在名称空间中(这是有道理的,因为您将它们添加到名称空间中)
然而,我们的代码库的其余部分在命名空间之外有 using 语句:
有没有一种干净的方法可以让 CodeDom 发出第二个版本?
编辑:生成第一个示例的代码如下所示:
silverlight - Silverlight 中的 System.CodeDom.Compiler.CompilerParameters 在哪里?
我想在 Silverlight 中创建数学表达式评估器。为了轻松做到这一点,我需要使用 System.Reflection、System.Reflection.Emit、System.CodeDom.Compiler 和其他相关程序集进行动态编译。
但是,我在 Silverlight 中找不到此类。
请给我一些建议。
f# - FSharp.Compiler.CodeDom 用于 VS2008 和 VS2010 并排
我正在使用 FSharp.Compiler.CodeDom (来自PowerPack)来动态创建 F# 类。问题是,我的计算机上同时有 VS2008 和 VS2010(它们工作正常),并且在此配置中使用 F# 充其量是错误的:
- 如果我不安装 InstallFSharp.msi,那么在 VS2008 下,构建的类会抱怨找不到 FSharp.Core(即使它们被引用)
如果我安装 InstallFSharp.msi,那么在 VS2008 下,构建的类将使用为 VS2010 构建的 F#,并且会抛出二进制不兼容异常,因为它将加载 .net4 变体:
FSC:错误 FS0219:引用的或默认的基本 CLI 库“mscorlib”与引用的 F# 核心库“C:\Program Files (x86)\Microsoft F#\v4.0\FSharp.Core.dll”二进制不兼容。考虑重新编译库或显式引用与您正在使用的 CLI 版本匹配的库版本。
如果我将在之前位置找到的F#替换为单独安装的dll-s,那么VS2010当然会抱怨二进制不兼容
我是否忽略了某些东西,或者他们不会简单地为这样的共享环境工作?当我部署应用程序时,这可能意味着真正的问题。
谢谢
parsing - 从 Source 到 AST 到 CodeDom
我正在阅读《语言实现模式》(http://pragprog.com/book/tpdsl/language-implementation-patterns)一书,其中包括一些其他内容以澄清概念以及偶尔的网站。我正在尝试制作一个工具,它可以读取一种简单的编程语言并对其进行一些基本分析。
我陷入了这个工具的设计阶段。我构建了一个简单的手写递归体面解析器,它可以很好地验证源文件。但是,执行具有 CodeDom 树的源操作会很有用。
问题:
1) 像这样的工具是否需要执行逻辑步骤:解析并构建文本树和匹配符号表,然后将其转换为 CodeDom?
2)在构建文本树时,最方便的是 AST,更容易转换为 CodeDom .. 但是重构工具是否会在语句中维护所有嵌入标记的列表以保留内联注释以及它们如何跟踪在他们的树上?
c# - 有什么简单的方法可以在 C# 中创建方法并动态设置其主体吗?
我在字符串中保存方法体。我想动态创建方法。但我不知道,如何设置它的身体。我看到使用 CodeDom 的方式非常乏味。我看到使用 Emit 和 OpCodes。有什么方法可以使用字符串变量中的现成代码吗?
.net - 在 Workflow 4.0 中将用户输入转换为 FlowDocument 中的 ToString() 方法
我有一个可以生成电子邮件的 Workflow 4.0 应用程序。在用于创建电子邮件正文的对话框中,用户需要能够输入一些字符串值,该字符串值表示要在运行时作为字符串插入的现有 wf 实例变量。
所以他们输入如下内容:电子邮件正文,包括 <>。
(说 ExistingVariable 是一个 int 或类似的东西)
关于如何在运行时使用 ToString() 转换此文本的任何有用提示?
c# - 使用 Linq 方法会导致在 WindowsBase 中缺少对 DependencyObject 的引用
我有一些我想在我的应用程序中使用 CodeDom 编译的 c# 源代码(用于插件)
一切正常,除非我在我的一些收藏中使用 Linq 扩展功能
当我尝试编译具有此代码的源代码时,CodeDom 抱怨我缺少对 WindowsBase 中 DependencyObject 的引用。
我不明白为什么会这样。Dictionary 类或 Any 扩展方法均未引用该类,该类显然是 Windows.Forms 的一部分
我通常会忽略这个怪癖,让 CodeDom 添加一个引用并继续前进,但显然 WindowsBase 是特殊的,并不总是分发的,我不想给可能没有正确安装它的用户造成问题。
c# - 通过 CodeDom 生成非托管 C++
我希望通过 CodeDom 以编程方式生成非托管 C++ 代码。似乎默认实现CppCodeProvider
只能生成托管 C++/CLI。
有什么替代品吗?
谢谢!
c# - CodeDom 和集合初始化器
有没有办法使用 C# CodeDom 生成字典初始化程序?那些都支持吗?
我想拥有:
reflection - 从二进制文件加载代码 DOM
是否可以从使用 C# 创建的 .NET 二进制文件加载 CodeDOM?