現在、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' から発生しているもので、名前ApplicationModel
、Devices
、Security
およびの名前空間の欠落Networking
です。この名前空間の名前は、このコマンドの実行中に存在しないように見える Windows RT C# API の一部です。
私が言ったように、コンパイルを達成するために必要なすべての引数を指定していないか、適切に実行していないようです。コマンド ラインでユニバーサル アプリを対象とする VS C# プロジェクト クラス ライブラリをビルドする適切な方法は何ですか?