後我有一個iOS/Android Xamarin項目共享一個PCL項目。「System.Runtime.Serialization」。您是否缺少程序集引用?「添加web參考
我已按照Xamarin's Tutorial通過ASMX向PCL添加了Web引用。本教程未說明如何進入「添加Web引用」窗口,但我們通過右鍵單擊我們的PCL項目並轉至Add->Web Reference
找到它。
在添加Web引用時,我得到一個大約500行的添加到PCL的Reference.cs文件。
然而,編譯,無論是iOS或Android,我給出了幾個這樣的錯誤:
Reference.cs(74,74):錯誤CS0234:類型或命名空間名稱
IExtensibleDataObject' does not exist in the namespace
System.Runtime。序列化」。您是否缺少裝配參考? (CS0234)(MyProject)
很明顯,我需要添加System.Runtime.Serialization
程序集引用。然而,我無法弄清楚如何做到這一點,我花了數小時尋找文檔或任何相關的解決方案。大多數帖子問題看起來都是正切的。
forum post這個問題引用了這個問題,但沒有給出任何解決方案,除了它被認爲是在三年前「固定」。
現在上述教程引用了「添加引用...」對話框,用於添加System.Web.Services.dll
如果您使用「添加文件」添加代理。但是,我無法在IDE中的任何位置找到此對話框。
右鍵點擊引用時,我找到了「編輯引用」。這產生這些標籤的窗口:
猜測,大會需要在這裏添加我搜索,但一無所獲。顯然,沒有辦法添加與IDE一起打包的程序集,因此您應該「知道」在哪裏找到它們。搜索文件證明毫無結果。
通過一個示例項目,我能夠找到.dll文件,位於/Library/Frameworks/Mono.framework/Versions/4.4.2/lib/mono/xbuild-frameworks/.NETPortable/v4.5/Profile/Profile78/System.Runtime.Serialization.dll
處,並通過.NET Assembly選項卡手動添加它。
一位同事也嘗試通過NuGet添加參考。
不幸的是編譯錯誤在嘗試兩種方法後仍然存在。
此外,值得注意的是,似乎ToDoASMX示例項目和包含System.Runtime.Serialization.dll
的文件夾都沒有任何對本教程提到的System.Web.Services.dll
的引用。
你正在運行什麼版本的C#? –
@AlexKrupka所有三個項目都說C#版本爲「默認」。我使用Xamarin Studio Community 6.0.2(build 73)我不確定IDE的默認設置是什麼,但看起來像版本6是支持的。 – BergQuester
你如何添加服務引用?你正在創建一個代理嗎?你只需點擊右鍵並選擇「添加Web服務」?你可以把再生產步驟納入你的問題,以便我們可以進一步調查? –