ASP.NET编译方法

来源:互联网 发布:电话会议软件 编辑:程序博客网 时间:2024/04/29 07:32


1.右击【我的电脑】→【属性】→【高级】→【环境变量】→【新建用户环境变量】
变量名:CORPATH
变量值:C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/


2.保存下面代码为.bat文件
%CORPATH%aspnet_compiler -v /website -p D:/MyProject/bbc007/www/ -f D:/compiled/bbc007 -fixednames
pause

3.更改【D:/MyProject/bbc007/www/】为站点的位置
 更改【D:/compiled/bbc007】为编译后的站点保存位置
 

 

 

假设虚拟目录为G:/Mydotnetsite/,在此目录下建一个名为bin文件夹(/bin目录必须是你的应用程序根目录的直接子目录。在默认情况下是/wwwroot/bin/,但是,如果你的应用程序被包含在一个虚拟目录中,那么必须在虚拟目录的根目录中创建/bin目录)用于存放被编译后的dll文件.
在安装好.Net Framework的情况下,将.cs或.vb文件编译成dll文件的方法有3种:

Hello.cs:
class Hello{
public static int Main(){
System.Console.WriteLine("Hello World!");
return 0;
}
}

Hello.vb:
Imports System

Namespace myComponents
Public Class Hello
Dim myRand As New Random
Public Function ShowHello() As String
Select myRand.Next( 3 )
Case 0
Return "Hello,Girls!"
Case 1
Return "Hello,Boys!"
Case 2
Return "Hello,Everybody!"
End Select
End Function
End Class
End Namespace


1.批处理文件方法(推荐):
把要编译的.cs或.vb文件(假设是Hello.cs和Hello.vb,上面代码)复制到上面提到bin文件夹下,然后打开记事本,输入如下5行代码:

.cs:
set outdir=Hello_c.dll
rem set libpath=C:/WINNT/Microsoft.NET/Framework/v1.1.4322/
rem set lib=%libpath%System.dll,%libpath%System.Data.dll,%libpath%System.Web.dll
set lib=System.dll,System.Data.dll,System.Web.dll

csc /t:library /out:%outdir% /r:%lib% Hello.cs

把文件另存为MakeCSC.bat(名字可以自定,但后缀名必须是.bat.即批处理文件),然后进入bin/文件夹双击这个批处理文件,这时如果看到一个Hello_c.dll文件生成,就表示编译成功了.

.vb:
set outdir=Hello_vb.dll
rem set libpath=C:/WINNT/Microsoft.NET/Framework/v1.1.4322/
rem set lib=%libpath%System.dll,%libpath%System.Data.dll,%libpath%System.Web.dll
set lib=System.dll,System.Data.dll,System.Web.dll

vbc /t:library /out:%outdir% /r:%lib% Hello.vb

同样,另存为MakeVB.bat,双击运行这个批处理文件,这时如果看到一个Hello_vb.dll文件生成,就表示编译成功了.

说明:两个文件的第一行代码中
set outdir=Hello_c.dll
set outdir=Hello_vb.dll

表示生成的dll文件名和位置,如果不把Hello.cs和Hello.vb放到bin目录下编译,则它们生成后也要放到bin文件夹下.

rem set libpath=C:/WINNT/Microsoft.NET/Framework/v1.1.4322/
表示编译器的位置,这里是win2000,如果是winxp,其中WINNT应为WINDOWS.

2.命令行方式:
命令所在的路径为:C:/WINNT/Microsoft.NET/Framework/v1.1.4322 (这里为win2000)。
在DOS命令符下进入上面的目录,将Hello.cs和Hello.vb复制到当前目录中,再用命令vbc /t:library /out:Hello_vb.dll Hello.vb或者csc /t:library /out:Hello_c.dll Hello.cs

也可以把Hello.cs和Hello.vb复制到c盘:
vbc /t:library /out:c:/Hello_vb.dll c:/Hello.vb
或者csc /t:library /out:c:/Hello_c.dll c:/Hello.cs
这样生成的Hello_vb.dll,Hello_c.dll就直接在c盘根目录下.

ok,完成编译,最后将生成的.dll剪切到bin目录中.

为了在控制台下的任何目录都可以执行该编译器程序而不必进入目录C:/WINNT/Microsoft.NET/Framework/v1.1.4322,就应该配置一个Path系统环境变量。Path=C:/WINNT/Microsoft.NET/Framework/v1.1.4322,如果已经存在这个Path系统环境变量,就在它的值后面加上;C:/WINNT/Microsoft.NET/Framework/v1.1.4322(注意前面有个分号),这样就可以运行:
vbc /t:library /out:G:/Mydotnetsite/bin/Hello_vb.dll G:/Mydotnetsite/bin/Hello.vb
(或者vbc /t:library /r:System.dll,System.Data.dll,System.Web.dll
/out:G:/Mydotnetsite/bin/Hello_vb.dll G:/Mydotnetsite/bin/Hello.vb)

csc /t:library /out:G:/Mydotnetsite/bin/Hello_c.dll G:/Mydotnetsite/bin/Hello.cs

完成编译.

3.使用Visual Studio.Net自带的编译功能也可编译.
 

原创粉丝点击