我想学习使用 C# 构建工具从命令行构建桌面应用程序。 我刚刚从here下载了.Net SDK 并按照 here 的教程成功运行我的第一个控制台应用程序 但是,如果我想构建一个 wpf 应用程序,它会说类型或命名空间“System.Windows”不可用,并且可能缺少对程序集的引用。 我的项目文件如下所示
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
我的 C# 文件如下所示:
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Ink;
public class Sketchpad : Application {
[STAThread]
public static void Main(){
var app = new Sketchpad();
Window root = new Window();
InkCanvas inkCanvas1 = new InkCanvas();
root.Title = "Skortchpard";
root.ResizeMode = ResizeMode.CanResizeWithGrip;
inkCanvas1.Background = Brushes.DarkSlateBlue;
inkCanvas1.DefaultDrawingAttributes.Color = Colors.SpringGreen;
inkCanvas1.DefaultDrawingAttributes.Height = 10;
inkCanvas1.DefaultDrawingAttributes.Width = 10;
root.Content = inkCanvas1;
root.Show();
app.MainWindow = root;
app.Run();
}
}
我需要如何更改项目文件以包含必要的程序集? 对于 Windows 窗体应用程序来说会怎么样? 为了从控制台编译 C# 程序,您应该阅读什么教程?
最佳答案
您需要添加该行
<UseWPF>True</UseWPF>
<PropertyGroup>
内的任意位置.csproj 文件的部分。这(隐式)添加了 System.Windows
对您的项目的引用。 (因此,这是一种特殊情况,因为大多数其他外部引用将通过 <ProjectReference>
条目添加)。
哦,还有改变
<TargetFramework>net7.0</TargetFramework>
至
<TargetFramework>net7.0-windows</TargetFramework>
因为 WPF 是特定于 Windows 的。
关于c# - 从命令行使用 .net 构建 WPF 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75439874/