2017-02-17 9 views
1

私はUbuntu 16.04に.NETコアアプリケーションをデプロイしようとしています。私はアドバイスを検討しているasp.netコアリストアが失敗する - 複数のプロジェクト(ubuntu-16.04-x64)

[email protected]:/home/XXXXXX$ dotnet restore 
    log : Restoring packages for /home/XXXXXX/project.json... 
    error: Unable to resolve 'XXXXXX.Configuration (>= 1.0.0)' for '.NETCoreApp,Version=v1.0'. 
    error: Unable to resolve 'XXXXXX.DataModels (>= 1.0.0)' for '.NETCoreApp,Version=v1.0'. 
    error: Unable to resolve 'XXXXXX.DAL (>= 1.0.0)' for '.NETCoreApp,Version=v1.0'. 
    error: Unable to resolve 'XXXXXX.Application (>= 1.0.0-0)' for '.NETCoreApp,Version=v1.0'. 
    error: Unable to resolve 'XXXXXX.BLL (>= 1.0.0)' for '.NETCoreApp,Version=v1.0'. 
    log : Lock file has not changed. Skipping lock file write. Path: /home/XXXXXX/project.lock.json 
    log : /home/XXXXXX/project.json 
    log : Restore failed in 4546ms. 

log : Lock file has not changed. Skipping lock file write. Path: 

:プロジェクトがdotnet restoreを入力するときただし、サーバー上で、私は以下のログを受け取るローカルアプリは罰金(win10-x64のを)作品、(nuget経由すなわちない)他のプロジェクトへの参照が含まれています関連する質問herehereおよびhereしかし、私の問題を解決するソリューションはありません。

コアフレームワークへの変更のペースを考えると、私はプロジェクトのために使用されているバージョンとproject.jsonファイルを指定します:

XXXXXX.Configuration(.NETコアクラスライブラリ) project.jsonを:

{ 
    "version": "1.0.0-*", 

    "dependencies": { 
    "NETStandard.Library": "1.6.1" 
    }, 

    "frameworks": { 
    "netstandard1.6": { 
     "imports": "dnxcore50" 
    } 
    } 
} 

XXXXXX.DataModels(.NETコアクラスライブラリ) project.json

{ 
    "version": "1.0.0-*", 

    "dependencies": { 
    "NETStandard.Library": "1.6.1", 
    "XXXXXX.Application": "1.0.0-0" 
    }, 

    "frameworks": { 
    "netstandard1.6": { 
     "imports": "dnxcore50" 
    } 
    } 
} 

XXXXXX.DAL(.NETコアクラスライブラリ) project.json

{ 
    "version": "1.0.0-*", 

    "dependencies": { 
    "MySql.Data": "7.0.6-IR31", 
    "NETStandard.Library": "1.6.1", 
    "XXXXXX.Application": "1.0.0-0", 
    "XXXXXX.Configuration": "1.0.0-*", 
    "XXXXXX.DataModels": "1.0.0-*" 
    }, 

    "frameworks": { 
    "netstandard1.6": { 
     "imports": "dnxcore50" 
    } 
    } 
} 

XXXXXX.Application(.NETコアクラスライブラリ) poject.json

{ 
    "version": "1.0.0-0", 

    "dependencies": { 
    "Microsoft.AspNetCore.Mvc.Abstractions": "1.1.0", 
    "Microsoft.AspNetCore.Mvc.Core": "1.1.0", 
    "Microsoft.AspNetCore.Mvc.DataAnnotations": "1.1.0", 
    "Microsoft.AspNetCore.Mvc.ViewFeatures": "1.1.0", 
    "MySql.Data": "7.0.6-IR31", 
    "NETStandard.Library": "1.6.1", 
    "System.Data.SqlClient": "4.3.0" 
    }, 

    "frameworks": { 
    "netstandard1.6": { 
     "imports": "dnxcore50" 
    } 
    } 
} 

XXXXXX.BLL(.NET Core Class Library) project.json

{ 
    "version": "1.0.0-*", 

    "dependencies": { 
    "Microsoft.Extensions.Configuration.Binder": "1.1.0", 
    "NETStandard.Library": "1.6.1", 
    "XXXXXX.Application": "1.0.0-*", 
    "XXXXXX.Configuration": "1.0.0-*", 
    "XXXXXX.DAL": "1.0.0-*", 
    "XXXXXX.DataModels": "1.0.0-*" 
    }, 

    "frameworks": { 
    "netstandard1.6": { 
     "imports": "dnxcore50" 
    } 
    } 
} 

そして最後に、一緒にすべてを結びつける.NETのコアのWeb UIのproejct:

XXXXXX.WebUI project.json

{ 
    "dependencies": { 
    "BundlerMinifier.Core": "2.3.327", 
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final", 
    "Microsoft.AspNetCore.Mvc": "1.1.1", 
    "Microsoft.AspNetCore.Razor.Tools": "1.1.0-preview4-final", 
    "Microsoft.AspNetCore.Routing": "1.1.0", 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.1.0", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.1.0", 
    "Microsoft.AspNetCore.StaticFiles": "1.1.0", 
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.1.0", 
    "Microsoft.Extensions.Configuration.Json": "1.1.0", 
    "Microsoft.NETCore.App": { 
     "version": "1.1.0", 
     "type": "platform" 
    }, 
    "Microsoft.AspNetCore.Session": "1.1.0", 
    "PaulMiami.AspNetCore.Mvc.Recaptcha": "1.1.1", 
    "Microsoft.AspNetCore.Mvc.Abstractions": "1.1.1", 
    "Microsoft.Extensions.Options": "1.1.0", 
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.1.0", 
    "XXXXXX.DataModels": { 
     "version":"1.0.0-*", 
     "target": "project" 
    }, 
    "XXXXXX.Application": { 
     "version": "1.0.0-0", 
     "target": "project" 
    }, 
    "XXXXXX.Configuration": { 
     "version": "1.0.0-*", 
     "target": "project" 
    }, 
    "XXXXXX.DAL": { 
     "version": "1.0.0-*", 
     "target": "project" 
    }, 
    "XXXXXX.BLL": { 
     "version": "1.0.0-*", 
     "target": "project" 
    } 
    }, 

    "tools": { 
    }, 

    "frameworks": { 
    "netcoreapp1.0": { 
     "imports": [ 
     "dotnet5.6", 
     "portable-net45+win8" 
     ] 
    } 
    }, 

    "buildOptions": { 
    "emitEntryPoint": true, 
    "preserveCompilationContext": true, 
    "copyToOutput": [ "web.development.environment.json" ] 
    }, 

    "runtimeOptions": { 
    "configProperties": { 
     "System.GC.Server": true 
    } 
    }, 

    "runtimes": { 
    "win10-x64": {}, 
    "ubuntu.16.04-x64": {} 
    }, 

    "publishOptions": { 
    "include": [ 
     "wwwroot", 
     "**/*.cshtml", 
     "appsettings.json", 
     "web.config", 
     "global.json", 
     "project.json", 
     "web.development.environment.json" 
    ] 
    }, 

    "scripts": { 
    "prepublish": [ "bower install", "dotnet bundle" ], 
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] 
    } 
} 

は私もglobal.jsonを持っています公開時にプロジェクトの1レベル上のルートフォルダにあります。

{ 
    "projects": [ 
    "src", 
    "/home/XXXXXX/XXXXXX.Application.dll", 
    "/home/XXXXXX/XXXXXX.Configuration.dll", 
    "/home/XXXXXX/XXXXXX.DataModels.dll", 
    "/home/XXXXXX/XXXXXX.Common.dll", 
    "/home/XXXXXX/XXXXXX.BLL.dll", 
    "/home/XXXXXX/XXXXXX.DAL.dll", 
    "/home/XXXXXX/XXXXXX.Notifications.Client.dll", 
    "/home/XXXXXX/XXXXXX.Notifications.DataModels.dll", 
    "/home/XXXXXX/XXXXXX.WebUI.dll" 
    ] 
} 

EDIT

VS以内構築/公開は、次のような階層作成:だから

/home 
     /XXXXXX 
      /bin 
      /refs 
      /runtimes 
      /Views 
      /wwwroot 
     global.json 
     project.json 
     XXXXXX.Configuration.dll 
     XXXXXX.Application.dll 
     XXXXXX.DataModels.dll 
     XXXXXX.BLL.dll 
     XXXXXX.DAL.dll 
     XXXXXX.WebUI.dll 
     web.config 
     web.development.environment.json 
     (+ Many .NET dlls) 

を、すべてのプロジェクトがビルドしたと同じレベルに配置 - 間違ったようだが、ちょっと、それは自動化されています。

ヘルプ!

+0

devワークステーションとUbuntuサーバーの間で、異なるバージョンのdotnetコアランタイムを実行していますか? dotnet --versionを使って確認できます。また、フレームワークのプレビュー4に移行し、プロジェクトを.csprojファイルに移行することを検討しましたか?私は彼らがプロジェクト参照のためのより良いサポートを持っていることがわかった。 –

+0

こんにちはニック、はい、バージョンは同じです。私は、彼らがtactを変えて、jsonから古いXML設定スタイルに戻すことを決めたと読んでいます。しかし、このソリューションのすべてのプロジェクトを転送する時間を燃やすことは商業的に実行可能ではないと考えられました。 –

+0

両方の環境で '1.0.0-preview2-1-003177'が実行されています –

答えて

0

本質的に、サードパーティのパッケージが、netcoreapp1.1のみをサポートするように移行した場合に問題が発生します。

VS 2017で私のプロジェクトを再作成しました(yee olde .csprojを使って)1.1にアップグレードしました。すべて今はうまく動作します。

私のアドバイスは、VS2017を入手し、後でNugetの問題を避けるために、古いバージョンのdotnetコアに依存するプロジェクトを移植することです。

今後数か月の間にプラットフォームの安定性がさらに向上することを期待しています。

関連する問題