我对此进行了相当彻底的研究,发现了这个、这个和这个。我发现的所有帮助页面都说的差不多。这不是很复杂,所以我很确定我做对了,但是幕后的文件都变得混乱了。以下三个错误中的任何一个都会出现,只有错误 1 和 2 会阻止它运行。
错误 1:如果 XAML 文件在我运行时在编辑器中打开,那么只有该文件的错误是:名称空间“clr-namespace:Addin”中不存在名称“Option”
错误2:如果XAML文件在我运行时没有在编辑器中打开,那么错误是:类型名称'Option'在'Addin.Addin'类型中不存在。...在所有 g.cs 文件上。
错误 3:与 1 完全相同,但在不同的对象上。当我运行它时,它确实解决了,不会导致错误,并且完全按预期工作。
就好像 VS 确信该类不存在,但只在涉及继承时才真正关心。
我只想说我很困惑,任何关于可能出错的见解将不胜感激。另外,我正在使用 VS 2012 Professional,我的一些同事似乎认为它至少是错误 3 的罪魁祸首。
EAC1O1.xaml.cs
namespace Addin
{
public partial class EAC1O1 : Option
{
public EAC1O1()
{
InitializeComponent();
}
}
}
选项.cs
namespace Addin
{
public abstract class Option : UserControl
{
EAC1O1.xaml
<local:Option x:Class="Addin.EAC1O1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:Addin"
mc:Ignorable="d" >
<DockPanel>
</DockPanel>
</local:Option>
EAC1O1.g.cs
namespace Addin{
/// <summary>
/// EAC1O1
/// </summary>
public partial class EAC1O1 : Addin.Option, System.Windows.Markup.IComponentConnector {