簡體   English   中英

從命令行構建Windows Universal C#類庫

[英]Build Windows Universal C# class library from command line

我目前正在嘗試構建針對Windows Phone 8.1,Windows應用程序8.1和Windows 10通用應用程序的Microsoft運行時組件C#類庫。 為了完成本介紹,我的環境運行Windows 8.1,並且使用Visual Studio 2015作為IDE。

為了使過程自動化,在我們的團隊中,我們需要通過命令行編譯該庫,以在其他地方使用生成的.winmd文件。 盡管該解決方案和項目可以使用IDE完美地編譯,但是我們無法通過Windows命令行來編譯我們的項目。 經過一番調查,我們發現了可能可行的命令,但是卻收到錯誤消息,告訴我們缺少某些參數。 命令行是下一個命令行:

C:\solutionDir>"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe" project\project.csproj

清除項目並執行此命令后,我們將收到許多此類錯誤:

"C:\solutionDir\project\project.csproj" (default target) (1) ->
(CoreCompile target) ->
  Class1.cs(2,15): error CS0234: The type or namespace name 'System'
  does not exist in the namespace 'Windows' (are you missing an assembly
  reference?) [C:\solutionDir\project\project.csproj]

其他錯誤(都是來自相同缺少的名稱空間“ Windows”)都是名稱為ApplicationModelDevicesDevicesSecurityNetworking的名稱空間缺失。 該名稱空間名稱是Windows RT C#API的一部分,在執行此命令期間看起來好像不存在。

就像我說的,似乎我們未指定實現編譯所需的所有參數,或者我們未正確執行編譯。 用命令行構建針對通用應用程序的VS C#項目類庫的正確方法是什么

我假設我使用的是舊版本的MSBuild.exe。 為了使其工作,我必須安裝MSBuild獨立版本 命令文件可以在這里找到:

"C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" project\project.csproj

您可以使用以下參數指定配置(Debug | Release):

"C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" project\project.csproj /property:Configuration=Release

甚至更好:

"C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" project\project.csproj /t:rebuild /property:Configuration=Release

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM