-6

我想通过代码创建一个 .cs 文件的 dll,通过在 c# 中编程,任何人都可以帮助我如何做到这一点,这意味着我有两个类“Class1”和“Class2”,我想为 class1 创建 dll编程,所以我怎么可能请帮我做。

编辑:

ProcessStartInfo info = new ProcessStartInfo(@"C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe");

info.Arguments = @" /out:E:\pratik\file option\Class1.dll Class1.cs";
info.UseShellExecute = true;
Process.Start(info); 
Console.ReadLine(); 

我已使用此代码创建它正在运行的 dll,但我没有在给定路径上获取 dll

4

2 回答 2

1

您可以将编译器用作服务 - CodeDomCompiler功能来动态创建 dll/exe。

如何使用 C# 编译器以编程方式编译代码

使用 CodeDom 编译 - 关于 codeproject 的文章

另一种方法是编译文件CSC.exe 命令行工具创建库。为此,您需要使用适当的参数启动新进程。

 Process.Start( Path.Combine(GetCscFolderLocation() ,"csc"),  "/target:library File1.cs File2.cs /reference: <reference 1> <reference2> ..."

 string GetCscFolderLocation()
 {
 // Getting CSC location
 }

获取 CSC.exe 文件夹位置很棘手。按照这个得到一个想法。

以下示例在默认编辑器中启动文本文件。

Process.Start(@"C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.e‌​xe", @"/target:library /out:C:\test\test.dll c:\test\File.cs");
于 2012-12-29T12:40:50.240 回答
0

去视觉工作室的新项目

根据需要选择类库名称

现在,把你需要的方法、属性放在那个类中

建造它。

将此引用添加到您的项目。

于 2012-12-29T12:30:21.847 回答