2017-03-06 8 views
4

が欠落が発生します。DOTNETコア - Ubuntuの上で、次のエラーをMVCプロジェクトを構築する場合csproj.metaproj

/home/user1/.local/share/Trash/files/pangolin.2/Pangolin.Web/src/Pangolin.Web/Pangolin.Web.csproj.metaproj : error MSB4025: The project file could not be loaded. Could not find file '/home/user1/.local/share/Trash/files/pangolin.2/Pangolin.Web/src/Pangolin.Web/Pangolin.Web.csproj.metaproj'. 
0 Warning(s) 
1 Error(s) 

Windows上で同じプロジェクトをビルドコンパイルエラーはありません。

両方のマシンのドットネットバージョンは1.0.0-rc4-004771です。このプロジェクトは、両方の環境でdotnet buildコマンドを使用してビルドされています。

+0

をあなたは 'global.json'を持っていますか? –

+0

いいえ、ソリューションの一部であるglobal.jsonはありませんが、VS2017は移行前にglobal.jsonファイルをバックアップしました。 – Levon

+0

@ Levonこれを解決しましたか? – Polynomial

答えて

4

問題はディレクトリ構造にありました。外部プロジェクトがsrcディレクトリに追加されていることを確認してください。あるいは、外部プロジェクトをNuGetの依存関係として追加することもできます。

3

非常に似た問題が発生しました.DevMachine(Windows10)では正常に構築できましたが、CI(Ubuntu 14.04)では失敗しました。

私のディレクトリ構造:

.gitignore 
package/ 
    deployment_package.zip 

src/ 
    .vs/ 
    MyService/ 
     MyService.csproj 

    MyService.Tests/ 
     MyService.Tests.csproj 

    MyService.sln 

それは私が.slnフォルダレベルでdotnet buildを実行するだろうというときに失敗、しかし私は各.csprojを建てたときにを成功するでしょう。

私の作業rakeタスク:

task :dotnet_build do 
    Dir["#{SRC_DIR}/**/*.csproj"].each do |csproj_path| 
    raise "Error building: #{csproj_path}" unless system("dotnet build #{csproj_path} --framework netcoreapp1.1") 
    end 
end 

EDIT: dotnet buildは、複数のコアで構築する問題があります。 /m:1フラグを設定すると、この問題が解決されます。

+0

私はトラビスと同じことを経験しています。もしあなたも、 '.travis.yml'ファイルをあなたと共有したいですか? – nopara73

+0

@ nopara73、私はトラビスを使用していないし、このソリューションから移行しました。コンパイル時に並列エラーが発生していることがわかりました。 '.sln'ファイルを対象にして、'/maxcpucount:1'フラグを付け加えて、これらの並列化エラーを取り除くことができます。 –

0

問題はディレクトリ構造にありました。外部プロジェクトがsrcディレクトリに追加されていることを確認してください。あるいは、外部プロジェクトをNuGetの依存関係として追加することもできます。

解決します。 私はSRCフォルダにすべてのプロジェクトを追加しました: ./src/project1 ./src/project2

と私はglobal.jsonあります ./global.json

{ "projects": [ "src"], 
    "sdk": { 
    "version": "1.0.4" 
    } 
} 
関連する問題