【发布时间】:2017-12-19 18:37:29
【问题描述】:
我完成了一个 xamarin 表单应用程序并提供给 Android Market。没问题,一切正常。它是活的。 我在调试和发布中测试了 UWP。创建包并使用该包进行本地应用程序认证测试,所有检查绿色,通过。我创建了提交并发布到 Microsoft Store。它未能通过消息进行认证。
调试配置测试
FAILED
Debug configuration
Error Found: The debug configuration test detected the following errors:
The binary Syncfusion.SfNumericTextBox.XForms.dll is built in debug mode.
Impact if not fixed: Windows Store doesn’t allow a debug version of an app.
How to fix: Please make sure the app isn’t linking to any debug versions of a framework and it is built with release configuration with optimization enabled. If this is a managed app please make sure you have installed the correct version of .NET framework.
我根本没有将这个包安装到我的项目中。然而,syncfusion 中还有另一个名为 sfDatagrid 的包,它将此 dll 作为依赖项。所以它在我的 XF 和 UWP 项目中添加了一个引用。我根本不需要和使用这个 dll。这就是我尝试关注的原因
从
project.json中删除引用和nuget 引用 两个项目的文件。删除了每个项目(XF 和 UWP)下的 bin、obj 文件夹,清理了 temp 文件夹。重建整个解决方案。第一次失败。所以我让它引用在那里,但将
local copy设置为“false”。它也没有工作。- 那里有
project.lock.json文件,这仍然包含参考,我试图手动删除所有参考,但它仍然没有工作
这显然是包提供者的错误。我已经报告了它,他们注册为一个事件,但即使他们修复了,他们也会在月底发布更新的版本。所以我的问题是无论如何我可以告诉编译器在创建包时排除这个dll吗?
在 Android 中可能因为我使用的是“完整链接”,所以它排除了这个 dll,而没有引用这个 dll。
在 UWP 中,我确实使用了 Compile with Native tool Chain option as shown below,但显然它没有做同样的工作。
【问题讨论】:
-
第一个问题,您是否使用我认为是自定义控件的“Syncfusion.SfNumericTextBox.XForms.dll”。如果不是,那么只需从您的 UWP 项目中删除该引用。
-
@Digitalsa1nt 正如我上面所说,我根本不使用它,也没有任何参考。我试图手动删除引用,但它不起作用。我看到 dll 也被复制到 \bin\x86\Release 和 \bin\x64\Release 和 obj 文件夹下。
-
sweet,删除你的 bin 和 obj 文件夹并重建 UWP 项目。这适用于上周我在这里回答的另一个类似问题。 stackoverflow.com/a/44952044/4486115 同样的原则也适用于此。
-
@Digitalsa1nt 我删除了所有内容。斌。 obj,在每个单独的项目下 uwp,xf。清理临时文件夹。清洁和重建的解决方案。它没有帮助
-
您上图的设置没有问题。所以显然在某处对该程序集存在某种依赖性,我知道你说你已经删除了引用,但是是否还有任何 nuget 包仍然与构建相关联?