Dotnetcore 2.0 deployment problems

Env:
Mint 18.2 / Ubuntu 16.04 dotnetcore 2.0

I’ve run into an issue trying to deploy a standalone application. When running the executable:

Error:
  An assembly specified in the application dependencies manifest (ScoreBeastServer.deps.json) was not found:
    package: 'CouchbaseNetClient', version: '2.5.0'
    path: 'lib/netstandard1.5/Couchbase.NetClient.dll'

This was odd, because the same solution runs fine on my dev system. The only difference was that I did not install dotnetcore 2.0 on the deployment system (server).

I’ve checked /publish and it contains Couchbase.NetClient.dll

So I’ve installed the dotnetcore 2.0 on the server, but the problem persisted.

I’ve then copied the source to the server, and dotnet restore the solution.

Both standalone and source now run without problem.

Just wanted to bring this up. I don’t know what the problem might be, but it seems like dotnet restore takes care of it (without changing anything in the standalone app).

1 Like

@enko

This sounds like a problem with the build/deploy pipeline to me.

Based on the fact that you were trying to run it without dotnetcore2.0 installed, I’m guessing you’re trying to do a self-contained deployment? If so, I don’t think the “publish” folder is the right place to look for the files. I believe they go into the bin/release/netcoreapp2.0<runtime_identifier> folder when you run dotnet publish -r <runtime_identifier>. More info here: https://docs.microsoft.com/en-us/dotnet/core/deploying/deploy-with-cli

@btburnett3 I did in fact publish.

dotnet publish -c release -r ubuntu.16.04-x64

which produces:

bin/release/netcoreapp2.0/ubuntu.16.04-x64/

which does have publish/ with all the dependencies/framework

This should be self contained(standalone), without the need to setup dotnetcore framework on the server. Well at least in theory, as it does produce standalone executable in the ubuntu.16.04-x64/

@enko

Interesting, it seems like you’re doing the right things. I personally haven’t experimented with a self-contained distribution, I’ll have to play with it some and see what I see. It certainly should work, a self-contained distribution is just a distribution that includes the platform-specific binaries for .NET Core instead of expecting it to be preinstalled.

Is it possible for you to share some source code that reproduces the problem? If you can’t share your source, perhaps you make a simple example app that reproduces the problem?

@btburnett3

I will make a sample project. I’ll update this when I do. Thank you!