c# - 如何动态运行 C# 项目

标签 c# csharpcodeprovider

我正在编写一个 C# Winforms 应用程序,用户可以在其中使用 CSharpCodeProvider 类创建和运行他们自己的动态脚本。

我使用简单代码(作为字符串)和多个类文件(外部文件)成功地完成了这项工作,但我不确定如何加载整个 C# 项目并成功编译和调用代码。

我做了一些研究,但找不到所需的信息,例如教程或一些示例代码。

我正在使用一个 WinForms 应用程序,以一个简单的表单和按钮作为要编译和调用的 C# 项目的示例。

谁能告诉我需要添加哪些源文件才能使整个 C# 项目正确编译和调用?我是否需要包含 .resx 和 .Designer.cs 文件?另外,是否需要添加特定的引用程序集?

最佳答案

CSharp 项目文件是一个 MSBuild 构建脚本。

如果您实质上是允许用户创建他们自己的宏或脚本作为您产品的扩展,则您不必担心使用 .csproj 文件。您正在做的事情就可以达到这个目的。

如果您想超越宏和脚本,并允许您的用户创建和共享插件作为 DLL,那么您可能应该给他们一个模板项目并建议他们使用 Visual Studio Community Edition 来创建 DLL。

关于c# - 如何动态运行 C# 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35079107/

相关文章:

c# - 从 asp.net c# 中的 gridview 选择时检索复选框值并将其存储在数据库中?

c# - NHibernate 查询只运行一次,然后抛出 InvalidCastException

c# - 一个应用程序可以编译并创建另一个应用程序吗?

c# - AllowAnonymous 与 OverrideAuthorizeAttribute

c# - 用于提取 CSS 类名和 ID 的正则表达式

c# - CSharpCodeProvider在System.Collections.Generic下看不到Stack <T>类

c# - 如果我没有为 CSharpCodeProvider 指定 CompilerVersion 会发生什么,为什么大多数示例都指定了它?

c# - 从内存中释放 CSharpCodeProvider 生成的代码

c# - 查找出现次数最多的日期范围

c# - 使用 Owin 中间件进行 Active Directory 身份验证的 ASP.Net MVC