[英]How to compile WPF program with command line?
我需要使用命令行C#compiler(即csc.exe
)编译我使用Visual Studio编写的简单WPF应用程序。
问题是错误CS0103
- 编译器说我的程序中没有InitializeComponent()
方法。 但那是错的,因为我添加了System.Xaml.dll。 有人知道如何解决这个问题吗?
使用命令行编译构建WPF应用程序可以使用命令行编译器构建完全以代码(即无标记) 编写的WPF应用程序。 例如,考虑使用C#编写的WPF独立应用程序,其中包含以下源代码文件:
- 应用程序定义文件(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))。 但是,命令行编译不支持编译包含可扩展应用程序标记语言(XAML)标记源代码文件的WPF应用程序。 此外,命令行编译不够强大,无法支持典型WPF应用程序所需的全部构建要求,包括配置管理和ClickOnce应用程序和部署清单生成。 为了支持WPF应用程序的更复杂的构建要求,WPF集成并扩展了MSBuild。
请注意,MSBuild可能是构建更复杂解决方案的更好选择,大多数持续集成解决方案都支持它。
更多信息: https : //msdn.microsoft.com/en-us/library/aa970678(v = vs。85).aspx
如果你不介意开放环境打开一个确定的编译方法是使用:
C:> devenv HacksWinSample.sln / build release
见http://archive.oreilly.com/pub/h/5186
使用这种方法,您可以轻松查看问题所在并进行调试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.