讓 VS 編譯 MonoTouch 項目源文件不再出錯
使用 MonoTouch 做 iOS 開發, 由于 MonoDevelop 和 VS 2010 相比, 功能差的太多, 通常會相應的建立兩個項目, 一個是 MonoDevelop 項目, 在 OSX 下使用, 一個是 VS 項目, 在 Windows 下使用, 在 Windows 系統下進行編碼, 之后再在 OSX 下進行調試。 不過, 默認的 VS 項目在添加 MonoTouch 項目的 CS 源文件之后, 經常編譯出錯, 而且如果安裝了 Resharper 之類的插件之話, 也會得到一大堆錯誤信息, 令人感覺非常惡心。 經過一番研究發現是因為 VS 不能引用 MonoTouch 的幾個核心 dll 文件導致的, 包括 mscorlib.dll , System.dll , System.Core.dll 等, 找到原因之后, 對應的解決方法就有了。
新建項目, .Net Framework 選擇 4.0 或以上, 項目類型選擇類庫項目, 項目名稱為 MonoTouchLib , 如下圖所示:

編輯項目屬性, 選擇 build 選項卡, Configuration 選擇 All Configurations , 點擊右下角的 advanced 按鈕, 在彈出的 Advanced Build Setting 對話框中勾選 Do not reference mscorlib.dll , 如下圖所示:

右擊 MonoTouchLib 項目, 在上下文菜單選擇 Unload Project , 再次右擊, 選擇 Edit MonoTouchLib.csproj , 按照下圖對項目文件進行修改:

修改好之后, 保存并重新加載項目即可。 把這個項目導出為項目模板, 以后就不用每次都重復設置了。
如果再要引用其它的 MonoTouch 組件, 可以嘗試直接添加引用, 如果發現引用路徑不正確的話, 還按照這個方法進行修改。
這樣修改過后的項目, 不僅可以順利編譯 MonoTouch 項目的源文件, Resharper 也不再提示錯誤。
張志敏所有文章遵循創作共用版權協議,要求署名、非商業 、保持一致。在滿足創作共用版權協議的基礎上可以轉載,但請以超鏈接形式注明出處。
本博客已經遷移到 GitHub , 圍觀地址: https://beginor.github.io/
浙公網安備 33010602011771號