2012-07-10 89 views
0

我還沒有找到任何有關如何做到這一點的信息,或者甚至根本沒有可能。使用命令行csc.exe創建C#可移植類庫?

http://msdn.microsoft.com/en-us/library/e13syb43

沒有提及建立一個便攜式類庫什麼,

http://msdn.microsoft.com/en-us/library/gg597391.aspx

沒有提及一個命令行界面東西。

有沒有其他人試圖做到這一點,並找到了解決方案/發現它是不可能的?

+0

任何使用PCL的庫都是可移植的,如果它本身並不依賴於pinvoke或COM依賴關係引入的平臺實現細節。 – 2012-07-11 01:11:55

回答

1

通過命令行建立便攜式庫是可能的,你只需要通過正確的框架的引用。這些決定了你將支持的平臺。

首先,是要通過命令行來做到這一點,因爲你沒有安裝Visual Studio Pro中的原因是什麼?如果是這樣,它會變得有點棘手。

0

通常你會用的MSBuild命令行構建的手動調用CSC.EXE的csproj代替。

在另一方面,項目似乎被設置組件的 - 你應該能夠給出正確的引用的集合(也可能需要禁用默認庫)通過CSC命令行和手工打造。

+0

我可能完全錯過了一些東西,但是當我使用csc.exe構建dll時,我不需要針對特定​​版本(2.0/3.0/3.5/4.0)和平臺(全?緊湊?WP7?)?或者純粹是一個MSBuild問題,只要不使用不可用的庫,csc.exe的dll可以定位到任何平臺? – 2012-07-11 00:11:30

+0

我不知道特定的「便攜式類庫」解決方案,但通常使用MSBuild構建會產生與在VS中構建相同的輸出。您可以檢查從VS編譯時引用的最終庫是否可以通過CSC/MSBuild獲得相同的輸出。 – 2012-07-11 00:19:21

+0

@LiHaoyi您只能在4.0及以上版本(4.5)上使用可移植類庫。而且由於VS2010有一個模板,爲什麼它需要在命令行構建,如果我可能會問? – GrayFox374 2012-07-11 00:40:15