Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 将dnx作为nuget包引用_Asp.net Core - Fatal编程技术网

Asp.net core 将dnx作为nuget包引用

Asp.net core 将dnx作为nuget包引用,asp.net-core,Asp.net Core,我试图将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" } 并在my web.confing to packages目录中设置运行时路径设置。 ... 在我的软件包目录中,我有dnx-clr-win-x64和dn

我试图将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"
}
并在my web.confing to packages目录中设置运行时路径设置。


...
在我的软件包目录中,我有
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作为nuget软件包引用?

根据您的问题和您对它的评论,答案是否定的。您不能引用dnx并将其作为nuget引用,因为您有一个引导问题:您需要dnu(它是dnx的一部分)来下载nuget软件包

但是,您可以编写一个构建脚本,类似于我们(asp.net团队)所做的:

基本上,为了获得dnx,您构建脚本所要做的就是:

  • 获取dnvm
  • 调用dnvm安装

  • 此外,如果不希望全局使用dnx,可以将
    dnx\U HOME
    环境变量设置为指向其他文件夹

    您试图实现什么目标?我不希望在%USERPROFILE%\.dnx目录中安装dnx,以便能够在开发人员计算机上运行我的应用程序。我想另一个开发者可以从风投那里获取资源并构建它。现在我将dnx存储在VCS下的“runtimes”目录中,并通过“runtime path”设置从web.config引用该目录。
    ASP.NEt 5
    应用程序在没有
    dnx的情况下无法运行
    是的,我可以编写一个构建脚本,或者只在VCS下存储dnx。但我很好奇是否有可能将DNX作为nuget包引用。唯一不起作用的是nuget将包存储为{PackageName}\{PackageVersion},但AspNet.Loader.dll查找{PackageName}.{PackageVersion}。是的,ASP.NET 5应用程序不能在没有DNX的情况下运行,但DNX不一定要在%USERPROFILE%\.DNX目录中。例如,我将其存储在我的解决方案目录中。
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <appSettings>
        ...
        <add key="runtime-path" value="../../packages" />
      </appSettings>
    </configuration>