繁体   English   中英

尝试获取程序包的当前版本会导致错误APPX1706和APPX1704

[英]Trying to get the package current version causes errors APPX1706 and APPX1704

我对Windows.ApplicationModel.Package类有一些麻烦。

当我尝试将引用添加到Windows.ApplicationModel或获取当前程序包时,出现17000多个错误。

我如何尝试获取当前软件包:

var myPackage = Windows.ApplicationModel.Package.Current;

我得到的那种错误:

错误APPX1704:文件.winmd'Windows.Foundation.UniversalApiContract.winmd'包含类型'Windows.Graphics.Effects.IGraphicsEffect'。 Windows保留使用空间名。

要么

错误APPX1706:.winmd文件“ Windows.Foundation.UniversalApiContract.winmd”在其根名称空间“ Windows.Foundation.UniversalApiContract”之外包含类型“ Windows.Graphics.Effects.IGraphicsEffect”。 确保所有公共类型都出现在与输出文件名匹配的公共根名称空间下。

是否有解决此问题的方法或获取当前版本的更好方法?

对于第一个问题,我有点不确定,但是重新引导(如IDE,OS等)始终是个好主意,如果这不能帮助重新安装SDK,IDE。 我知道这不是完整的答案,仅凭经验即可。 第二个错误是您的命名空间不一致。 这意味着您将拥有例如Example.Logic,Test.Domain,Utils(名称空间不一致),而不是拥有Example.Logic,Example.Domain,Example.Utils。

我发现了问题的根源,这是由于解决方案的结构所致。

就像在Xamarin应用程序中一样,我们有一个“ Core”项目,其中包含应用程序逻辑。

我们试图在这些共享类中使用一些Windows应用程序特定的名称空间,而不是在Core项目中创建接口并在UWP项目中实现该接口。

Xamarin代码共享

从核心项目中删除对Windows.ApplicationModel.Package类的引用行,并将其移至UWP项目即可解决此问题。

抱歉,原帖信息不足。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM