wpf 在Visual Studio代码中运行程序的问题

jrcvhitl  于 2023-05-01  发布在  其他
关注(0)|答案(2)|浏览(175)

我试图运行一个WinExe与<UseWPF>true</UseWPF>,但它甚至没有运行一个简单的Hello World程序。我不知道这是怎么回事,唯一的线索就是这个内部异常。
类型为“System”的未处理异常。CSharpProgram中发生BadImageFormatException'。dll:“无法加载文件或程序集”PresentationFramework,版本=4。0.0.0,Culture=中性,PublicKeyToken=31bf3856ad364e35'.无法加载引用程序集以执行。(0x80131058)'
这是我的。csproj文件:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net7.0-windows</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <UseWPF>true</UseWPF>
  </PropertyGroup>
</Project>

下面是程序:

using System;

public class Program
{
    public static void Main() {
        Console.WriteLine("Hello World!");
    }
}

任何帮助都非常感谢。

ct3nt3jp

ct3nt3jp1#

我不熟悉Visual Studio Code,所以下面并不是如何在VS Code中创建WPF应用程序的答案,但如果需要,可以使用dotnet new创建WPF应用程序。

  • Download/install the .NET SDK
  • 打开cmd窗口
    查看已安装的SDK
  • dotnet --info
    新建WPF应用
  • dotnet new wpf --framework <TargetFramework> --output <fully-qualified path>(例如:dotnet new wpf --framework net7.0 --output "C:\Temp\WpfAppTest\WpfAppTest"

参见TargetFramework

构建/运行应用

  • dotnet run --project "C:\Temp\WpfAppTest\WpfAppTest\WpfAppTest.csproj"

使用您喜欢的编辑器开发/修改WPF应用程序(您可以考虑使用Visual Studio)。

j13ufse2

j13ufse22#

来自MSDN:
UseWPF属性控制是否包含对WPF库的引用。这也会更改MSBuild管道以正确处理WPF项目和相关文件。默认值为false。将UseWPF属性设置为true以启用WPF支持。当启用此属性时,您只能以Windows平台为目标。
当此属性设置为true时,。NET 5+项目将自动导入.NET Desktop SDK
所以在后面,编译器会自动查找WPF库和。NET桌面SDK。您可以尝试:
1.确认是否安装了所有依赖项(是否有该SDK的所有部件)?转到Visual Studio安装程序并检查/添加必要的部件
1.尝试直接引用这些项目/依赖项。您是否已经安装并安装了所有这些设备?如果是这样,您可以尝试直接从项目中引用它们,以确保它们被正确地拾取。
当您创建默认的WPF应用程序时,它看起来像这样(具有这些依赖项):

相关问题