【问题标题】:How can I dynamically run a C# project如何动态运行 C# 项目
【发布时间】:2016-01-29 07:33:58
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 我认为你只需要在你的应用程序中模拟msbuild。 Visual Studio 如何编译代码?它只是使用特定参数调用csc.exe。观察这些参数并使用Process.Start 做同样的事情。

标签: c# csharpcodeprovider


【解决方案1】:

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

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

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

【讨论】:

  • DLL 可以有文本框和按钮等表单控件吗?
猜你喜欢
  • 2020-12-26
  • 2014-06-20
  • 1970-01-01
  • 2021-01-04
  • 2010-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多