问题标签 [vbcodeprovider]
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# - VBCodeProvider 不尊重providerOptions 中的OptionInfer?
我正在尝试在我的 C# 项目中动态编译一些 VB 代码,但我遇到了 VBCodeProvider 的问题。它似乎没有兑现我放入 providerOptions 字典中的 OptionInfer 标志。
我的代码如下所示:
我将 CompilerParameters.TreatWarningsAsErrors 设置为 True,然后出现以下错误:
没有“As”子句的变量声明;假定的对象类型。
但是,当我将“Option Infer On”文本放在动态源代码的顶部时,一切都很好。
任何人都可以解释一下吗?我是否使用了错误的 providerOptions 键或值?其他地方有其他设置吗?
vb.net - 需要帮助使用 VBCodeProvider 为 Silverlight 3.0 编译 DLL
我在动态编译用于 Silverlight 3.0 的 DLL 时遇到了困难。我的目标是采用我的用户提供的一些规则并将它们编译成一个 DLL 用于自定义编辑目的。
我在 Visual Studio 中创建了一个 Silverlight 类库项目,以获取用于编译 Silverlight 类库的命令行。基于此以及使用 VBCodeProvider 编译 VB 的许多示例,我想出了以下将字符串中的代码编译到 DLL 的方法:
我的单元测试类代码如下:
这不会编译并出现以下错误:
vbc:命令行(0,0):错误BC2010:编译失败:在类'Microsoft.VisualBasic.Information'中找不到'成员'IsNumeric'。这种情况通常是不匹配的“Microsoft.VisualBasic.dll”的结果。
我看过,事实上,Microsoft.VisualBasic.Information 类的 Silverlight 版本不包含成员 IsNumeric。所以我似乎正在使用 sdkpath 选项选择正确的库。但我不知道为什么我首先要调用该方法。
任何人都可以阐明如何成功地将源代码动态编译到与 Silverlight 兼容的类库中吗?TIA。
.net - 'TestString' 未声明。由于其保护级别,它可能无法访问。(BC30451)
我正在尝试使用VBCodeProvider
该类进行一些即时代码编译。我想要做的是在代码中修改我的程序集中的公共变量。
我的应用程序中有一个Public TestString As String = ""
。
这是我用来编译的代码:
这是我的文本框中的代码:
我得到的错误是未声明“TestString”。由于其保护级别,它可能无法访问。(BC30451)
.net - 如何在 vb.net 中将字符串转换为代码并查看主项目的静态或公共变量
可能重复:
如何将当前程序集公开给 CodeProvider
我写了一个代码,它从 vb.net 中的文本框中转换字符串,就像在这个例子中一样:如何在 c# 中将字符串转换为代码
但是在这个类中,我不能从主项目中调用任何静态变量和方法。那是代码vb.net:
如何从主项目中调用所有静态和公共方法和变量?谢谢!
c# - 在 .NET Framework 4.0 的 AppDomain 中运行 codeCom 代码
如何在 NET Framework 4.0 中运行当前 AppDomain 中的编译代码?下面的代码可以在 NET Framework 3.5 中运行,但是 objCompilerParameters.Evidence 在 NET Framework 4.0 中已经过时了,那么如何解决呢?
c# - 如何在 VBCodeProvider 中启用隐式续行?
从 Visual Studio 编译时,以下 VB.NET 代码可以工作:
但是,当尝试通过使用它来编译它时,CodeDom
它似乎不使用隐式续行(我可以通过添加下划线使其工作,但这正是我想要避免的)。
使用的代码:
.net - 如何使用 VBCodeProvider
我正在 Windows 7 x64 上使用 .NET Framework 4.0 编写 Windows 窗体应用程序。
我的程序需要能够将一些文本编译为 EXE。我发现我可以用 VBCodeProvider 做到这一点。问题是,我不知道怎么用,已经google了,看了看MSDN文档。
vb.net - 如何在通过 CodeDom 生成的 Visual Basic 中创建可选参数?
这是问题“ CodeDom 在生成 ac# 方法时可以创建可选参数吗? ”的表亲。
我尝试了那里给出的答案。
不过,当我尝试编译时,我收到以下错误:
错误 BC30455:未为“公共函数栏”的参数“可选参数”指定参数(可选参数作为整数)作为整数
我已将其提炼为不支持 OptionalAttribute、DefaultParameterValueAttribute 或两者的 Visual Basic 编译器。
这是我正在编译的蒸馏代码:
使用以下命令编译它:
产生以下输出:
如果我手动将方法签名更改为
然后它编译就好了。
所以我的问题是:
- 如何在通过 CodeDom 生成的 Visual Basic 中创建可选参数?
- vbc 甚至支持使用 OptionalAttribute 和/或 DefaultParameterValueAttribute 吗?
- 如果 vbc 不支持这些属性,是否有任何可能的方法来创建可选参数而不使用 CodeSnippetStatement?
- 如果没有其他方法,那么是否有可能挽救我使用 CodeDom 完成的其他工作,这样我最终不必手动生成我的方法?我是否必须在 CodeSnippetTypeMember 中手动构建其余部分?甚至会起作用吗?
.net - 如何让 ByRef Arguments 在使用 Method.Invoke 动态创建的程序集中工作
我有一个要编译成程序集的文本文件,使用 VBCodeProvider 类
该文件如下所示:
这是编译代码:
我想要做的是修改方法内的注释字符串的值,以便在我从代码中调用它之后,我可以检查该值:
但是评论总是"Foo"
(消息框显示"Not Allowed"
),所以看起来 ByRef 修饰符不起作用
如果我在我的代码中使用相同的方法comment
被正确修改。
c# - Visual Studio 2012 中是否有任何 C++ 代码提供程序
我使用以下代码作为 C# 和 VB.net 的代码提供程序
像这样,Visual Studio 2012 中是否有任何可用于 C++ 的代码提供程序