我想通过代码创建一个.cs文件的DLL

时间:2012-12-29 12:25:08

标签: c#

我想通过c#中的编程通过代码方式创建一个.c文件的dll任何人都可以帮助我如何做到这一点 意味着我有两个类“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

2 个答案:

答案 0 :(得分:1)

您可以使用compiler as services - CodeDomCompiler功能动态创建dll / exe。

How to programmatically compile code using C# compiler

Compiling wiht CodeDom - Article on codeproject

替代方法是编译文件CSC.exe command line tool以创建库。为此,您需要使用适当的参数启动新进程。

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

 string GetCscFolderLocation()
 {
 // Getting CSC location
 }

获取CSC.exe文件夹位置很棘手。关注this以获得一个主意。

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

Process.Start(@"C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.e‌​xe", @"/target:library /out:C:\test\test.dll c:\test\File.cs");

答案 1 :(得分:0)

转到visual studio中的新项目

根据需要选择类库名称

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

建立它。

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