我有一个ASP.Net 5 MVC 6项目,它使用了几个非DNX类库.这些库通过dnu包装包装,所有工作都可以在IIS Express或自托管应用程序上找到.但是在IIS 8上显示错误
无法解决目标框架'DNX,Version = v4.5.1'的以下依赖关系:我的项目列表
当前运行时目标框架:'DNX,Version = v4.5.1(dnx451)'版本:1.0.0-beta7-15532类型:CLR体系结构:x64操作系统名称:Windows操作系统版本:6.3.9600.0
如果我使用dnx 4.6(我只是降级以查看它是否适用于4.5.1),同样的错误.
然而,libs可以在以下位置找到:approot\packages \具有正确的nuget包结构(dnu发布打包它们)
那么如何帮助IIS找到我的库?
重现步骤:
用2个项目创建解决方案:新的ASP.Net MVC应用程序和通常的类库(不是包)
通过dnu换行包装类库
来自MVC的引用类库
发布Web应用程序(如果从Visual Studio发布不起作用,请使用dnu publish --runtime active)
在IIS中创建网站并将其指向已发布的Web应用程序的wwwroot文件夹
更新: 原来问题不是在IIS本身,而是在DNX中.如果我发布网站然后通过Microsoft.AspNet.Server.WebListener运行它,我会得到同样的错误.看起来dnu发布与包装项目无法正常工作.
但是,运行Windows服务时不是这种情况.我有一个引用相同库的控制台应用程序(包),我用--no-source发布它,然后通过sc.exe将它安装为windows服务,它都按预期工作.