在运行时执行C#或VB.NET代码

时间:2011-04-11 07:38:18

标签: c# vb.net security dynamic code-generation

最近在Codility.com上度过了一段时间,它在我脑海中浮现;他们如何执行你创建的代码(特别是与C#和VB.NET有关)?

我基本上想知道的是我如何在表单上使用文本框中的某些代码,然后运行该代码?如果没有第三方工具,这可能吗?

另外,您如何防止与此类程序的基于Web的实施相关的安全违规?

3 个答案:

答案 0 :(得分:3)

使用CSharpCodeProvider类,您可以在运行时编译代码(作为字符串)。

答案 1 :(得分:3)

查看http://msdn.microsoft.com/en-us/library/system.codedom.compiler.aspx在网络应用中执行此类代码是一个安全问题。 .Net提供了一组功能来帮助您解决该问题,例如可以将编译后的代码作为不同的用户在不同的应用程序域中运行。

答案 2 :(得分:2)

您可以在运行时在VB.Net和C#中编译代码。看看代码来做here