我尝试将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>
在我的packages目录中,我有dnx-clr-win-x64
个目录和dnx-clr-win-x86
个子目录。
但是当我试图运行我的应用程序时,我收到了错误:
无法加载文件或程序集&#39; dnx.clr.managed&#39;或其中一个 依赖。系统找不到指定的文件。
似乎AspNet.Loader.dll搜索目录名为1.0.0-beta4
。但包存储在dnx-clr-win-x64.1.0.0-beta4
。
如果我在dnx-clr-win-x64/1.0.0-beta4
目录中创建目录dnx-clr-win-x64.1.0.0-beta4
并将packages
复制到其中,则一切正常。
是否可以将dnx引用为nuget包?
答案 0 :(得分:2)
根据您的问题和您对它的评论,答案是否定的。您不能引用DNX并将其作为NuGet引用拉出来,因为您有一个引导问题:您需要dnu(这是dnx的一部分)来下载NuGet包。
但是,您可以编写一个构建脚本,类似于我们(asp.net团队)所做的:https://github.com/aspnet/Configuration/blob/dev/build.cmd
基本上,你为了获取dnx所做的所有构建脚本都是:
dnvm install <version>
此外,如果您不想全局使用dnx,则可以将DNX_HOME
环境变量设置为指向其他文件夹。