【发布时间】:2015-07-17 02:35:21
【问题描述】:
我正在尝试将 dnx 引用为 nuget 包。 为此,我在我的 project.json 中包含 dnx-clr-win-x64 和 dnx-clr-win-x86 包。
"dependencies": {
...
"dnx-clr-win-x64": "1.0.0-beta4",
"dnx-clr-win-x86": "1.0.0-beta4"
}
并将我的 web.confing 中的 runtime-path 设置设置为 packages 目录。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
...
<add key="runtime-path" value="../../packages" />
</appSettings>
</configuration>
在我的包目录中,我有dnx-clr-win-x64 和dnx-clr-win-x86 目录以及1.0.0-beta4 子目录。
但是当我尝试运行我的应用程序时出现错误:
无法加载文件或程序集“dnx.clr.managed”或其之一 依赖项。系统找不到指定的文件。
似乎 AspNet.Loader.dll 搜索目录名为dnx-clr-win-x64.1.0.0-beta4。但是包存储在dnx-clr-win-x64/1.0.0-beta4。
如果我在packages 目录中创建目录dnx-clr-win-x64.1.0.0-beta4 并将dnx-clr-win-x64/1.0.0-beta4 复制到其中,一切都会很好。
是否可以将 dnx 引用为 nuget 包?
【问题讨论】:
-
你想达到什么目的?
-
我希望能够不在 %USERPROFILE%\.dnx 目录中安装 dnx 以便能够在开发人员机器上运行我的应用程序。我希望另一个开发人员可以从 VCS 获取资源并构建它。现在我将 dnx 存储在 VCS 下的“runtimes”目录中,并通过“runtime-path”设置从 web.config 引用该目录。
-
你应该编写一个构建脚本。没有
'dnx,ASP.NEt 5应用程序无法运行 -
是的,我可以编写一个构建脚本或者只是将 DNX 存储在 VCS 下。但我很好奇是否可以将 DNX 引用为 nuget 包。唯一不起作用的是 nuget 将包存储为 {PackageName}\{PackageVersion} 但 AspNet.Loader.dll 查找 {PackageName}.{PackageVersion}。
-
是的,ASP.NET 5 应用程序在没有 DNX 的情况下无法运行,但 DNX 不必位于 %USERPROFILE%\.dnx 目录中。例如,我将它存储在我的解决方案目录中。
标签: asp.net-core