0

NancyFxソリューションをAppHarborにプッシュしていますが、AppHarborがパッケージを復元していないため、ビルドに失敗します。

ただし、パッケージの復元はソリューションファイルで定義されています。

Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{313EB245-8733-45FC-82B3-6C1404446A50}"
ProjectSection(SolutionItems) = preProject
    .nuget\NuGet.Config = .nuget\NuGet.Config
    .nuget\NuGet.exe = .nuget\NuGet.exe
    .nuget\NuGet.targets = .nuget\NuGet.targets
EndProjectSection
EndProject

これは、AppHarborログの関連部分です。

Build started 11/21/2012 8:50:07 AM.
 1>Project "D:\temp\cqcytykz.jkt\input\src\xxx\xxx.sln" on node 1 (default targets).
 1>ValidateSolutionConfiguration:
     Building solution configuration "Release|Mixed Platforms".
 1>Project "D:\temp\cqcytykz.jkt\input\src\xxx\xxx.sln" (1) is building "D:\temp\cqcytykz.jkt\input\src\xxx\xxx\xxx.csproj" (2) on node 1 (default targets).
 2>PrepareForBuild:
     Creating directory "obj\Release\".
   ResolveAssemblyReferences:
     Primary reference "Nancy".
 2>C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Nancy". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\temp\cqcytykz.jkt\input\src\xxx\xxx\xxx.csproj]

何が欠けているのか考えている人はいますか?

4

1 に答える 1

2

NuGet.targetsファイルを参照するセクションがcsprojにありますか?ソリューションの項目を示しているだけですが、プロジェクトは、プロジェクトのビルド時に何を実行するかを実際に知るために、ターゲットファイルへの参照が必要です。

NuGetのサポートは、MSBuild / VSが知っている特別なものではありません(ただし、VSにはいくつかのことを簡単にするための拡張機能があります)。(VS拡張機能の「パッケージ復元を有効にする」機能を使用する場合に挿入する必要がある)ものは、ビルド中に外部コマンドを実行する必要があることをMSBuildに通知します。これにより、パッケージが復元されます:-)

于 2012-11-23T18:43:57.457 に答える