最佳实践解决URI错误

5
我有一个主工程(ProjectA),其中包含一个基类(xaml + code-behind)。 此外,我还有另一个工程(ProjectB),与ProjectA相关联。在最后一个工程中,我继承了ProjectA中创建的一些用户控件。 当启动主应用程序时,我收到以下错误:
The component 'XXX' does not have a resource identified by the URI  
'/My.Assembly;component/.../simplegridview.xaml'

有没有最佳的方法来解决这个问题?

+1 本周我也遇到了完全相同的问题。虽然我对WPF还很陌生,所以不敢将其发布为答案,但是就目前而言:我们通过在代码后台中进行以下操作(因为情况要求我们这样做)来实现这一点:通过在基础方法中使用this.GetType().Assembly.FullName替换"My.Assembly"(该方法从继承类型中获取程序集)。 - Jeroen
在simplegridview.g.cs文件中,有一个URI规范的定义,但如果我尝试更改值,编译器会覆盖我的更改。但是,在WPF上管理继承关系很困难吗? - Alberto
只是好奇,为什么不创建一个包含常用控件的Common.dll,并在ProjectA和ProjectB中引用它呢? - denis morozov
请参考类似的问题:https://dev59.com/I2sz5IYBdhLWcg3w0bOl - aliceraunsbaek
2个回答

2

我知道这并不是解决问题的真正方法。但我发现,清理和构建可以让错误消失...


如果您之前已经成功构建过应用程序,并且在此区域中没有更改任何代码,则此功能非常有用。我会尝试一下。令人惊讶的是,“清理然后重新构建”可以修复很多问题 :) - C. Tewalt

0

我有时候也会遇到与VS 2013相同的问题,没有任何明显的原因,例如在重新启动并从头开始构建后。在这种情况下,解决方案构建成功,它也可以运行,但错误列表仍然显示例如5个URI错误。虽然有时候清理和构建就足够了,但其他时候你必须关闭VS,删除带有错误的项目的bin/obj文件夹,重新打开VS,然后错误就消失了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接