如何:在命令提示符处进行编译求解答
答案:1 悬赏:80
解决时间 2021-03-23 07:42
- 提问者网友:醉人眸
- 2021-03-22 07:37
如何:在命令提示符处进行编译求解答
最佳答案
- 二级知识专家网友:邪性洒脱
- 2021-03-22 07:49
使用.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% %* 请参见其他资源生成应用程序和核心任务
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯