【问题标题】:WPF UserControl throwing "Input string was not in a correct format." on InitializeComponent after migrating to .netcore 3.1WPF UserControl 抛出“输入字符串的格式不正确。”迁移到 .netcore 3.1 后的 InitializeComponent
【发布时间】:2020-02-07 17:21:47
【问题描述】:

刚刚将现有的 WPF 应用程序从 .net 框架 4.8 迁移到 .netcore 3.1,当它现在尝试启动时,我在加载的任何控件上都出现异常。调用 InitializeComponent 时会发生这种情况。

异常从 xaml 的第 1 行开始,即使是来自新创建的控件的完全未修改的 xaml。我可以发布代码 sn-ps,但为了缩小范围,我使用了一个刚创建的控件,完全没有修改。

我已经尝试进一步调试它,但似乎找不到它实际在抱怨什么。

错误代码为 XDG0062,并显示在使用控件的 xaml 文件的设计器视图中。

有人对在哪里进一步挖掘有任何提示吗?

【问题讨论】:

  • 在十六进制编辑器/notepad++ 中查看文件的开头。那里有任何特殊字符(如 UTF-16 BOM)吗?
  • 不,遗憾的是没有可见或不可见的。
  • 刚刚发现一些可能有用的东西,查看添加控件的窗口的 xaml,它在浅蓝色下划线时显示相同的错误。那个 xaml 没有改变,所以不知道为什么它突然成为一个问题。 xmlns:controls="clr-namespace:OTA.Scoring.UI.Controls"<controls:ConnectionStatusIndicatorControl x:Name="ApiConnectionStatusIcon" Width="15" Height="15" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="330,36,0,0" />
  • 检查 CultureInfo
  • @WillParsons Xaml 中是否提供了字符串格式?

标签: c# wpf .net-core


【解决方案1】:

嗯,那真是一团糟。

问题最终出现在项目文件中的两行,与控件或窗口 XAML 完全无关。

<AssemblyVersion>1.2.*</AssemblyVersion> <FileVersion>1.2.*</FileVersion>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 2013-08-22
    相关资源
    最近更新 更多