如何用命令行编译WPF程序

本文关键字:WPF 程序 编译 命令行 何用 | 更新日期: 2023-09-27 18:20:13

我需要使用命令行C#编译器(即csc.exe)编译我使用Visual Studio编写的简单WPF应用程序。

问题是错误CS0103—编译器说在我的程序中没有CCD_ 3方法。但这是错误的,因为我添加了System.Xaml.dll。有人知道如何解决这个问题吗?

如何用命令行编译WPF程序

使用MSBuild生成将比使用csc.exe更容易。获取正确MSBuild的路径(MSBuild路径),因为您的计算机上可以有多个MSBuild版本,大多数情况下每个Visual Studio安装一个。

然后,只需构建您的项目文件:

msbuild YourProject.csproj /p:Configuration=Release

并且输出将在bin/Release文件夹中。

使用命令行编译构建WPF应用程序可以通过使用命令行编译器。例如,考虑一个独立的WPF应用程序,用C#编写,具有以下源代码文件:

  • 应用程序定义文件(app.cs)
  • 列出项目

一个窗口(mainwindow.cs).

该应用程序可以使用C#命令行编译器来构建,csc.exe,使用以下命令:

csc.exe
/out:WPFApplication.exe
/target:winexe
app.cs mainwindow.cs
/reference:"C:'Program Files'Reference Assemblies'Microsoft'Framework'v3.0'presentationframework.dll"
/reference:"C:'Program Files'Reference Assemblies'Microsoft'Framework'v3.0'windowsbase.dll"
/reference:"C:'Program Files'Reference Assemblies'Microsoft'Framework'v3.0'presentationcore.dll"

在本例中:

  • /out参数用于指定已编译的可执行应用程序(WPFApplication.exe)的名称
  • /target参数用于指定要编译的应用程序的类型(Microsoft Windows可执行文件)
  • 指定了C#源代码文件(app.cs和mainwindow.cs)
  • /reference参数用于标识具有源代码中使用的类型的.NET Framework 3.0程序集

虽然此应用程序由两个源代码文件组成,但命令行编译可用于构建具有更多复杂性(请参见从命令行构建(CSharp))。然而命令行编译不支持WPF的编译包含可扩展应用程序标记语言的应用程序(XAML)标记源代码文件。此外,命令行编译不够健壮,无法支持所有构建需求典型WPF应用程序所需的,包括配置管理和ClickOnce应用程序和部署清单一代支持WPF更复杂的构建需求应用程序,WPF与MSBuild集成并扩展了MSBuild。

请注意,MSBuild可能是构建更复杂解决方案的更好选择,并且它得到了大多数连续集成解决方案的开箱即用支持。

更多信息请点击此处:https://msdn.microsoft.com/en-us/library/aa970678(v=vs.85).aspx

如果您不介意开发环境,打开一个可靠的编译方法是使用:

C:>devenv HacksWinSample.sln/内部版本

参见http://archive.oreilly.com/pub/h/5186

使用这种方法,您可以很容易地看到任何问题并进行调试。