新建 .NET "project.json" 项目,将预构建的本机 .dll 复制到输出目录
New .NET "project.json" project, copying pre-built native .dlls to the output directory
我希望将我的项目转换为使用 project.json
格式,但仍在使用 .NET CLR,直到第 3 方依赖项添加对 CoreCLR 的支持。
话虽如此,我对 "content" 目录中文件的一些 NuGet 依赖项需要输出到 运行ning 应用程序的 bin 目录中。
由于 project.json 目前不支持 NuGet 内容,我手动将文件添加到我的项目目录中。
然而,当我运行应用程序时,它仍然找不到这些本地程序集。如果我手动将这些程序集添加到 .dnx\runtimes\dnx-clr-win-x86.1.0.0-rc1-final\bin
,我的应用程序 运行 没问题,所以这只是这些文件以某种方式放入应用程序路径的问题。
那么,我该怎么做呢?在 MSBuild 中,有 "Copy To Output Directory" = "Copy if newer".
您可以使用 postbuild
脚本来实现您想要的。
当前在 .NET Core RTM 中执行此操作的方法是设置 copyToOutput
in project.json
's buildOptions
section:
将您的 project.json
更改为:
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
// more stuff
}
...为此:
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true,
"copyToOutput": { "includeFiles": [ "ClearScriptV8-32.dll", "v8-ia32.dll" ] }
},
// more stuff
}
我希望将我的项目转换为使用 project.json
格式,但仍在使用 .NET CLR,直到第 3 方依赖项添加对 CoreCLR 的支持。
话虽如此,我对 "content" 目录中文件的一些 NuGet 依赖项需要输出到 运行ning 应用程序的 bin 目录中。
由于 project.json 目前不支持 NuGet 内容,我手动将文件添加到我的项目目录中。
然而,当我运行应用程序时,它仍然找不到这些本地程序集。如果我手动将这些程序集添加到 .dnx\runtimes\dnx-clr-win-x86.1.0.0-rc1-final\bin
,我的应用程序 运行 没问题,所以这只是这些文件以某种方式放入应用程序路径的问题。
那么,我该怎么做呢?在 MSBuild 中,有 "Copy To Output Directory" = "Copy if newer".
您可以使用 postbuild
脚本来实现您想要的。
当前在 .NET Core RTM 中执行此操作的方法是设置 copyToOutput
in project.json
's buildOptions
section:
将您的 project.json
更改为:
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
// more stuff
}
...为此:
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true,
"copyToOutput": { "includeFiles": [ "ClearScriptV8-32.dll", "v8-ia32.dll" ] }
},
// more stuff
}