我還沒有找到任何有關如何做到這一點的信息,或者甚至根本沒有可能。使用命令行csc.exe創建C#可移植類庫?
http://msdn.microsoft.com/en-us/library/e13syb43
沒有提及建立一個便攜式類庫什麼,
http://msdn.microsoft.com/en-us/library/gg597391.aspx
沒有提及一個命令行界面東西。
有沒有其他人試圖做到這一點,並找到了解決方案/發現它是不可能的?
我還沒有找到任何有關如何做到這一點的信息,或者甚至根本沒有可能。使用命令行csc.exe創建C#可移植類庫?
http://msdn.microsoft.com/en-us/library/e13syb43
沒有提及建立一個便攜式類庫什麼,
http://msdn.microsoft.com/en-us/library/gg597391.aspx
沒有提及一個命令行界面東西。
有沒有其他人試圖做到這一點,並找到了解決方案/發現它是不可能的?
通過命令行建立便攜式庫是可能的,你只需要通過正確的框架的引用。這些決定了你將支持的平臺。
首先,是要通過命令行來做到這一點,因爲你沒有安裝Visual Studio Pro中的原因是什麼?如果是這樣,它會變得有點棘手。
通常你會用的MSBuild命令行構建的手動調用CSC.EXE的csproj代替。
在另一方面,項目似乎被設置組件的 - 你應該能夠給出正確的引用的集合(也可能需要禁用默認庫)通過CSC命令行和手工打造。
我可能完全錯過了一些東西,但是當我使用csc.exe構建dll時,我不需要針對特定版本(2.0/3.0/3.5/4.0)和平臺(全?緊湊?WP7?)?或者純粹是一個MSBuild問題,只要不使用不可用的庫,csc.exe的dll可以定位到任何平臺? – 2012-07-11 00:11:30
我不知道特定的「便攜式類庫」解決方案,但通常使用MSBuild構建會產生與在VS中構建相同的輸出。您可以檢查從VS編譯時引用的最終庫是否可以通過CSC/MSBuild獲得相同的輸出。 – 2012-07-11 00:19:21
@LiHaoyi您只能在4.0及以上版本(4.5)上使用可移植類庫。而且由於VS2010有一個模板,爲什麼它需要在命令行構建,如果我可能會問? – GrayFox374 2012-07-11 00:40:15
http://msdn.microsoft.com/en-us/library/gg597391.aspx將帶你哪些支持組件可以進入你的DLL,或者它可以部署。
http://videojugpages.com/pages/610-Microsoft-Visual-C-Express-Setup這個鏈接會告訴你如何在命令行來創建你的DLL。這非常簡單,一般的dll與可移植的類型沒有區別,除了可以部署的地方以及可以依賴的地方。希望這可以幫助。
任何使用PCL的庫都是可移植的,如果它本身並不依賴於pinvoke或COM依賴關係引入的平臺實現細節。 – 2012-07-11 01:11:55