[zz]用 VS 2005 生成 .NET 1.1 程序

转载自:http://www.cnblogs.com/Safe3/archive/2008/10/19/1314653.html

 

装了.NET 2005 有时要生成的DLL 要求.NET 1.1 使用,实在不想装VS2003倒有办法让VS2005新增的生成后事件命令行来帮助我们使用.NET 1.1编译当前工程:要求机器上安装了.Net framework 1.1,可以不装SDK 在VS2005的“项目属性”的“生成事件”里的“生成后事件命令行”里填入: md "$(TargetDir)/DotNET1.1" & C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/csc.exe /t:library /nologo /debug- /optimize+ /d:TRACE,DOTNET11 /out:"$(TargetDir)/DotNET1.1/$(TargetName)$(TargetExt)" /doc:"$(TargetDir)/DotNET1.1/$(TargetName).XML" /recurse:"$(ProjectDir)*.cs" 里面的.Net Framework 目录如果不是在C:/windows 自己改然后VS2005象平时一样生成DLL,同时会在目标目录里新建一个DotNET1.1目录,在里面就是用.net 1.1的csc 编译的DLL 注意事项:参数里定义了自动搜索工程目录下所有的CS文件(如果用链接链进工程的代码自己加上),由于调试可以用.NET2.0的所以参数里定义了生成的始终是无调试符号 如果是VB.NET代码,可以自己参考上面的改 再有一点就是,上面的命令行定义了DOTNET11 预编译符号,在程序里可以使用比如: #if (DOTNET11) .NET 1.1 代码 #else .NET 2.0 代码 #endif 来为不同的fraemwork版本写不同的代码(比如.NET1.1不支持的泛性) 强签名问题,由于.net 1.1的csc不支持 /keyfile 这个参数,所以项目如果要强签名不启用掉VS2005工程属性里的“为程序集签名“而改用.NET1.1的语法,比如: [assembly: System.Reflection.AssemblyKeyFile( "http://www.cnblogs.com/MyTest.snk" )] 这句跟VS2003里一样随便你放在M$规定的AssemblyInfo.cs里还是任何CS文件里

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值