2017-07-14 54 views
1

我完成了一個xamarin表單應用程序並提供給Android Market。沒問題,一切正常。它是活的。 我在調試和發佈中測試了UWP。創建軟件包並使用該軟件包進行本地應用程序認證測試,所有檢查均爲綠色,通過我創建了提交併發佈到Microsoft Store中。它沒有通過該消息的認證。UWP排除依賴關係DLL將被複制/包含到包中

調試配置測試

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。這就是爲什麼我嘗試以下

  1. 刪除project.json 文件在這兩個項目的引用和參考的NuGet。刪除bin,每個項目下的obj文件夾(XF和UWP),清理臨時文件夾。重建整個解決方案。

  2. 第一次失敗。所以我讓它參考,但將local copy設置爲「false」。它也沒有工作。

  3. project.lock.json文件,這仍持有參考,我試圖手動刪除所有引用,但它仍然沒有工作

這顯然是錯誤與包裝供應商。我已經報道過它們,並將它們註冊爲事件,但即使它們修復,它們也會在本月底發佈更新的版本。所以我的問題是有無論如何,我可以告訴編譯器在創建包時排除此dll?

在Android中可能因爲我使用「完全鏈接」,它排除了這個DLL,而沒有提到這個DLL。

在UWP中,我使用Compile with Native tool Chain option as shown below,但顯然它不能完成同樣的工作。

enter image description here

+0

第一個問題,你使用'Syncfusion.SfNumericTextBox.XForms.dll',我認爲這是一個自定義控件。如果沒有,那就從UWP項目中刪除這個引用。 – Digitalsa1nt

+0

@ Digitalsa1nt正如我上面所說,我根本不使用它,我沒有任何參考。我試圖手動刪除引用,但它不起作用。我看到dll複製在\ bin \ x86 \ Release和\ bin \ x64 \ Release和obj文件夾下。 – batmaci

+0

sweet,刪除你的bin和obj文件夾並重建UWP項目。這有助於另一個類似的問題,上週出現了我在這裏回答的問題。 https://stackoverflow.com/a/44952044/4486115相同的原則應適用於此。 – Digitalsa1nt

回答

1

Syncfusion已經重新發布的NuGet包用DLL的發行版本。

一定要在建設之前清除您的NuGet緩存(https://www.syncfusion.com/kb/6987/how-to-clear-nuget-cache)。

+0

這與從nuget文件夾中刪除下載的軟件包有什麼不同? – batmaci

+0

@batmaci我在一臺機器上運行了「nuget locals all -clear」,然後在另一臺機器上嘗試了手動刪除軟件包。在第二臺機器上,除了.nuget文件夾中的軟件包之外,我還必須刪除其他位置中的文件,例如http-cache(以「nuget locals all -List」列出的所有位置)。如果正確完成,您會注意到SfNumericTextBox dll上的修改日期是7/17/2017而不是像以前那樣是7/3/2017。 – jkh

+0

感謝您的提示。我明天會試試這個,並告訴你結果。 – batmaci