Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何动态运行C#项目_C#_Csharpcodeprovider - Fatal编程技术网

如何动态运行C#项目

如何动态运行C#项目,c#,csharpcodeprovider,C#,Csharpcodeprovider,我正在编写一个C#Winforms应用程序,用户可以使用CSharpCodeProvider类创建和运行自己的动态脚本 我成功地处理了简单代码(作为字符串)和多个类文件(外部文件),但不确定如何加载整个C#项目并成功编译和调用代码 我做了一些研究,但找不到所需的信息,例如教程或一些示例代码 我正在使用一个WinForms应用程序,以一个简单的表单和按钮作为编译和调用C#项目的示例 有人能告诉我需要添加哪些源文件来编译和调用整个C#项目吗?是否需要包括.resx和.Designer.cs文件?另外

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

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

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

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


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

CSharp项目文件是MSBuild生成脚本

如果您基本上允许用户创建自己的宏或脚本作为产品的扩展,则不必担心使用.csproj文件。你现在所做的就是为了这个目的


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

我认为您只需要在应用程序中模拟
msbuild
。VisualStudio如何编译代码?它只调用带有特定参数的
csc.exe
。观察这些参数并使用
过程。启动
执行相同的操作。DLL是否可以使用文本框和按钮等表单控件?