错误 APPX1706:使用 xaml 创建 winrt dll
Error APPX1706: creating winrt dll with xaml
我用 Page.xaml 和 App.xaml 文件构建了一个 WinRT(Windows phone 8.1) dll。
接下来我在wp8.1应用项目中添加对这个winmd的引用
我收到以下错误:
error APPX1706: The .winmd file 'project.winmd' contains type
'?A0x32772d97.project_XamlTypeInfo.XamlMetaDataProvider' outside its root namespace
'project'. Make sure that all public types appear under a common root namespace
that matches the output file name.
WinMD 库基本上是带有一些元数据信息的常规库 (DLL)。这些元数据信息将允许它以不同的语言使用。例如,您可以在 C# 中创建一个 WinMD 库,然后在 C++ 或 JS 应用程序中使用它。
由于WinMD库可以被不同的语言使用,它们都符合Windows运行时规则。
您的具体问题是 WinMD 文件的规则之一规定所有 类 必须属于同一个根命名空间。
这意味着如果你有以下代码:
A.cs
namespace Foo { class A { ... } }
B.cs
namespace Foo.Sub { class B { ... } }
C.cs
namespace Bar { class C { ... } }
D.cs
namespace Bar.Sub { class D { ... } }
WinMD 链接器将 return 您看到的错误。
要解决它,您必须在同一个根名称空间中声明所有 类 :
A.cs
namespace Foo { class A { ... } }
B.cs
namespace Foo.Sub { class B { ... } }
C.cs
namespace Foo { class C { ... } }
D.cs
namespace Foo.Sub { class D { ... } }
我已将所有 "Bar" 命名空间替换为 "Foo"
我用 Page.xaml 和 App.xaml 文件构建了一个 WinRT(Windows phone 8.1) dll。 接下来我在wp8.1应用项目中添加对这个winmd的引用
我收到以下错误:
error APPX1706: The .winmd file 'project.winmd' contains type
'?A0x32772d97.project_XamlTypeInfo.XamlMetaDataProvider' outside its root namespace
'project'. Make sure that all public types appear under a common root namespace
that matches the output file name.
WinMD 库基本上是带有一些元数据信息的常规库 (DLL)。这些元数据信息将允许它以不同的语言使用。例如,您可以在 C# 中创建一个 WinMD 库,然后在 C++ 或 JS 应用程序中使用它。
由于WinMD库可以被不同的语言使用,它们都符合Windows运行时规则。
您的具体问题是 WinMD 文件的规则之一规定所有 类 必须属于同一个根命名空间。 这意味着如果你有以下代码:
A.cs
namespace Foo { class A { ... } }
B.cs
namespace Foo.Sub { class B { ... } }
C.cs
namespace Bar { class C { ... } }
D.cs
namespace Bar.Sub { class D { ... } }
WinMD 链接器将 return 您看到的错误。 要解决它,您必须在同一个根名称空间中声明所有 类 :
A.cs
namespace Foo { class A { ... } }
B.cs
namespace Foo.Sub { class B { ... } }
C.cs
namespace Foo { class C { ... } }
D.cs
namespace Foo.Sub { class D { ... } }
我已将所有 "Bar" 命名空间替换为 "Foo"