【问题标题】:Exception in WPF xaml in Windows XP .NET Framework 4.0Windows XP .NET Framework 4.0 中 WPF xaml 中的异常
【发布时间】:2020-01-13 08:32:57
【问题描述】:

我已经使用 .NET 4.6.1 构建了一个 WPF 应用程序。

之后我降级到 4.0,因为它需要在 Windows XP 中运行

问题是我在 Windows XP 中启动程序时遇到了问题。

这里是我的 xaml:

 <Window x:Class="ETest_Scanner.MainWindow"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         Title="E-Test Barcode Formatter" Height="200" Width="450" 
 Topmost="True" StateChanged="Window_StateChanged" Icon="IMG/scanner.ico" 
  Background="#FF919191">
   <Grid>
      <Label Content="{Binding BarcodeScanner.ScannedBarcode, 
  FallbackValue=AnyError}" Margin="10" FontSize="72" 
  VerticalContentAlignment="Center" HorizontalContentAlignment="Center" />
    </Grid>
  </Window>

如何防止错误发生?

他的命名空间似乎有问题?

这只发生在 windows 10 和 windows 7 中的 windows XP 中,它可以完美运行。

提前致谢

编辑:

我尝试创建一个新项目,它是 4.0 的。

问题在于库 using System.Runtime.CompilerServices; 在 .NET 4.0 中不可用

现在我无法访问我的NotifyPropertyChangedCallerMemberName

我决定用命名空间System.Runtime.CompilerServices创建一个类,所以编译器认为我有这个类可用,看起来像这样:

namespace System.Runtime.CompilerServices
{
    [AttributeUsage(AttributeTargets.Parameter, AllowMultiple = false, Inherited = false)]
    public class CallerMemberName : Attribute
    {
    }
}

现在构建很好,但我仍然遇到与上图相同的问题。

【问题讨论】:

  • 您的 Windows XP 可能是 32 位操作系统。确保构建面向 x86 平台的应用程序,而不是任何 Cpu 或 x64。这可能就是您收到该异常的原因。
  • @Jon 我已经在另一个发生类似问题的平台上看到并修复了该问题,但这并没有成功,是的,它是一个 32 位操作系统。仍然感谢您的意见!
  • 您能否创建一个针对 .NET 4.0 的新 WPF 项目,看看是否得到相同的结果,而不是从 4.​​6.1 降级您的项目?
  • 好主意,不知道为什么我没有考虑这个。当我尝试时,我会给你反馈。可能是明天
  • @Jon 我编辑了我的问题,也许你有别的想法。

标签: c# wpf exception windows-xp .net-framework-version


【解决方案1】:

尝试添加配置设置:

<runtime>
 <legacyUnhandledExceptionPolicy enabled="1"/>
</runtime>

【讨论】:

  • 您介意告诉 OP 这是做什么的吗?为什么您建议设置它?
【解决方案2】:

所以我试图解决这个问题,但我无法提出解决方案或合理的失败。

我决定在 .NET 4.0 和 x86 中将整个应用程序合并到一个 Windows 窗体应用程序中。

在第一次构建以及在 Windows XP 和 Windows 7 机器上进行的第一次测试中,效果非常好。

我会留下这个问题没有回答也许有人可以提出解决方案或有一天会遇到同样的问题

【讨论】:

    猜你喜欢
    • 2015-09-09
    • 1970-01-01
    • 2011-09-16
    • 2010-10-30
    • 2012-11-11
    • 1970-01-01
    • 2010-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多