但實際要把元件的 Source Code 加入參考時visual studio 卻很不客氣的給我了這個訊息
好吧,....
畢竟 Windows Store App 的底層是 Windows Runtime (WinRT),跟 .Net for Store Apps
並不是 .Net Framework
兩者都可以用 C#/VB 寫出來,但就跟學外文一樣明明都是豆芽字但完全不是同一個東西...
Google 之後發現! 可以用 Portable Class Library 來解決
看似一切都非常美好
but !!
人蔘就是這個 but !!!
把元件改成 PCL 專案之後,很多原本的 library 也不一樣了
最明顯就是不支援 XmlDocument, 而且也沒有 System.Web 這個命名空間
而且要用到的 Json.Net 也是得取 Portable 版,跟原本的 100%不會相容,所以也不能直接蓋
為了 Store App 只好改掉了,但改了就跟原本專案要參考的元件不一樣了
(而且通常都是沒有時間讓原本的專案也升級成可以支援新的 library ...)
但只做了 1%左右的異動,卻要在 svn 上維護兩邊的 source
想到之後舊案子對元件進行擴充就得 merge 來新專案之類的,實在是頭痛
後來參考了一下公司內之前的高手前輩留下來的 source code,
發現可以在不同的專案之間參考同一個實體的 .cs 檔,立馬來研究
那個功能叫做 Add as Link
開好新的 PCL 專案,拉好該參考的參考之後,在專案案右鍵選 加入 -> 現有項目
瀏覽到原本的元件專案選好要加入的檔案之後
點下加入旁邊的 ▼

就可以不 Copy 檔案到新的目錄也可以使用同一顆 .cs 了
注意 Link 的檔案圖示會稍微不一樣,除了會寫明這是 C# or VB Class 之外,還會多一個藍色的箭頭圖案 (2013下是藍色的)
沒有留言:
張貼留言