Paul Knopf
Paul Knopf

Reputation: 9776

New .NET "project.json" project, copying pre-built native .dlls to the output directory

I'm looking to convert my project to use project.json format, but still using the .NET CLR until 3rd party dependencies add support for CoreCLR.

With that said, some of my NuGet dependencies of files in the "content" directory that need to be output into the bin directory of the running application.

Since project.json currently doesn't support NuGet content, I manually added the files to my project directory.

Custom files

However, when I run the application, it still can't find these native assemblies. If I add these assemblies manually to .dnx\runtimes\dnx-clr-win-x86.1.0.0-rc1-final\bin, my application runs fine, so it is just a matter of these files somehow getting put into the applications PATH.

So, how do I do it? In MSBuild, there was "Copy To Output Directory" = "Copy if newer".

Upvotes: 3

Views: 3456

Answers (2)

Christian Specht
Christian Specht

Reputation: 36421

The current way to do this in .NET Core RTM is setting copyToOutput in project.json's buildOptions section:

Change your project.json from this:

{
  "version": "1.0.0-*",
  "buildOptions": {
    "emitEntryPoint": true
  },

  // more stuff
}

...to this:

{
  "version": "1.0.0-*",
  "buildOptions": {
    "emitEntryPoint": true,
    "copyToOutput": { "includeFiles": [ "ClearScriptV8-32.dll", "v8-ia32.dll" ] }
  },

  // more stuff
}

Upvotes: 6

Related Questions