中易网

如何:在命令提示符处进行编译求解答

答案:1  悬赏:80  
解决时间 2021-03-23 07:42
如何:在命令提示符处进行编译求解答
最佳答案
使用.NET Framework SDK 提供的 Visual C# 和 Visual Basic 编译器。本主题介绍如何使用批处理文件针对 .NET Compact Framework 程序集而非 .NET Framework 全功能版(桌面)程序集在命令提示符处进行编译。可以直接使用批处理文件或从 make 文件实用工具调用批处理文件来使 .NET Compact Framework 集成到企业生成系统。使用MSBuild 进行编译使用MSBuild 在命令提示符处进行编译在命令提示处,定位到 .NET Compact Framework 应用程序的项目文件所在的目录。项目文件具有 .sln、.vbproj 或 .csproj 扩展名。 键入msbuild.exe,后面跟随项目文件。“命令提示符”窗口将提供有关生成过程的信息。 用于命令提示符编译的批处理文件下表描述了命令提示符编译所需的文件、命令和参数。 要求 说明.NET Compact Framework 程序集默认位于 C:\Program Files\Microsoft.NET\SDK\v2.0\CompactFramework\WindowsCE 文件夹中。您可以在批处理文件或 make 文件中指定该路径,或者使用“我的电脑”属性对话框将其指定为一个环境变量。系统路径变量包括 .NET Framework SDKVisual Basic 编译器 (vbc.exe) 和 Visual C# 编译器 (csc.exe) 位于 %systemroot%\Microsoft.NET\Framework\<version 2.0> 文件夹中。系统路径变量必须包括此路径。-r根据需要引用程序集。您可以通过设置环境变量来指定程序集,如 REF。默认情况下会引用大多数 .NET Compact Framework 程序集。请注意,C# 需要显式引用 Mscorlib.dll,Visual Basic 使用 -sdkpath 开关来定位此文件。-importsVisual Basic 需为以下命名空间进行显式导入:Microsoft.VisualBasicSystem.System.DataSystem.DrawingSystem.Windows.Forms-nostdlb指示Visual C# 编译器忽略 .NET Framework 全功能版(桌面)的程序集。-netcf指示Visual Basic 编译器忽略 .NET Framework 全功能版(桌面)的程序集。-noconfig必选。-sdkpath需要Visual Basic 来定位 Mscorlib.dll。批处理文件需要以下信息:.NET Compact Framework 程序集位置的路径变量。这些示例使用 NETCF_PATH。根据需要使用 -r 开关引用程序集(串联成一个变量)。带有所需开关和参数的编译器命令。这些参数包括变量引用、用于合并其他参数的星号 (*) 和输入到命令提示以运行批处理文件的源文件的名称。创建编译用的批处理文件在文本编辑器中创建一个新文件,然后针对您的首选编程语言添加示例批处理文件的内容,如下面的示例所示。如有必要,调整 NETCF_PATH 变量。保存并命名该文件,例如,可以将 Visual Basic 批处理文件命名为 vbcc.bat,将 C# 批处理文件命名为 cscc.bat。使用批处理文件编译应用程序在命令提示符下输入该批处理文件的名称,然后输入源文件,如下面的示例所示:vbcc myapp.vb可复制到设备或仿真程序的可执行文件将在当前目录中生成。用于C# 编译的批处理文件下面是一个用于 C# 编译的示例批处理文件。 @echo off if "%NETCF_PATH%" == "" ( set NETCF_PATH=c:\Program Files\Microsoft.NET\SDK\v2.0\CompactFramework\WindowsCE) if not "%REF%" == "" goto compile set REF=%REF% "/r:%NETCF_PATH%\MsCorlib.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Data.dll" set REF=%REF% "/r:%NETCF_PATH%\System.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Drawing.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Messaging.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Net.IrDA.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Web.Services.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Windows.Forms.DataGrid.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Windows.Forms.dll" set REF=%REF% "/r:%NETCF_PATH%\Microsoft.WindowsCE.Forms.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Xml.dll" :compile csc -nostdlib -noconfig %REF% %* 用于Visual Basic 编译的批处理文件下面是一个用于 Visual Basic 编译的示例批处理文件。 @echo off if "%NETCF_PATH%" == "" ( set NETCF_PATH=c:\Program Files\Microsoft.NET\SDK\v2.0\CompactFramework\WindowsCE) if not "%REF%" == "" goto compile set REF=%REF% "/r:%NETCF_PATH%\System.Data.dll" set REF=%REF% "/r:%NETCF_PATH%\System.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Drawing.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Messaging.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Net.IrDA.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Web.Services.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Windows.Forms.DataGrid.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Windows.Forms.dll" set REF=%REF% "/r:%NETCF_PATH%\Microsoft.WindowsCE.Forms.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Xml.dll" set REF=%REF% "/r:%NETCF_PATH%\Microsoft.VisualBasic.dll" set IMP= /Imports:Microsoft.VisualBasic,System,System.Data set IMP=%IMP% ,System.Drawing,System.Windows.Forms :compile vbc -sdkpath:%NETCF_PATH% -noconfig -netcf %IMP% %REF% %* 请参见其他资源生成应用程序和核心任务
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
Photoshop改不了规定象素
c语言从键盘输入一个大于2的整数n判断n是不是
如果一的正方形的面积是2/5,他的对角线长_
清明节上海人为什么要拿青团祭拜去世的人?
新飞飞充值了100点一直没到账
想知道: 淮安市金湖县便民桥在哪?
襄阳高新管委会的曾海是什么职务
QQ续费成年费的超级会员为什么才2.4倍儿爽
2012年7月1日起,居民用电收费究竟是几多钱一
起名郭浩加一个字女孩!只要好听
伟星ppr冷水管在能承受压力范围可以作热水管
给模型上色到底怎么回事
增城市从业会计证2014年个人继续教育选择哪个
水中的氧气是如何存在的?为什么可以供水下生
7/16和5/24(用通分表示)
推荐资讯
联想Y470找不到网络适配器是什么原因?
天鹅之恋咖啡地址在什么地方,想过去办事
一根筷子吃藕菜—净挑眼
我爱我班倒数第一
打工 什么工作工资高啊。
天翼手机黑屏了但是通知栏可以下拉怎么恢复
女人掉头发怎么办?是缺什么吗?
Q娃娃童装加盟好不好
刚看完《怜悯》,为何这类电影都没
matlab中如果我想让带变量的常微分方程的某个
宝山吴淞真维斯店地址
取个好听的英文名男 (在线等)
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?