我在 App.xaml 中有以下代码:
<Application x:Class="PcgTools.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:PcgTools.ViewModels"
xmlns:res="clr-namespace:PcgTools.Resources"
StartupUri="MainWindow.xaml"
Startup="Application_Startup">
<Application.Resources>
<ResourceDictionary>
...
<res:Strings x:Key="LocStrings"/>
</ResourceDictionary>
</Application.Resources>
</Application>
(...是我删除的一些行以使示例更清晰)。
当我运行应用程序时,我收到以下错误(在尝试运行/调试之后直接):(从荷兰语翻译,所以可能不是 100% 字面上相等):
在 PcgTools.Resources.Strings 类型中没有找到匹配的构造函数。您可以使用指令 Arguments 或 FactoryMethod 来创建此类型。
文件 Strings.Designer.cs 中有一个构造函数:
namespace PcgTools.Resources {
...
public class Strings {
...
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute
("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Strings() {
}
但是,它是生成的,所以我什至无法更改它。
顺便说一句,在不更改代码的情况下(大约一周前),但是大约 30% 的时间在调试时它给出了这个错误,并且在再次尝试后这个异常没有发生。