小编Vit*_*aly的帖子

ASP.Net 5 IIS:无法解析以下依赖项

我有一个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找到我的库?

重现步骤:

  1. 用2个项目创建解决方案:新的ASP.Net MVC应用程序和通常的类库(不是包)

  2. 通过dnu换行包装类库

  3. 来自MVC的引用类库

  4. 发布Web应用程序(如果从Visual Studio发布不起作用,请使用dnu publish --runtime active)

  5. 在IIS中创建网站并将其指向已发布的Web应用程序的wwwroot文件夹

更新: 原来问题不是在IIS本身,而是在DNX中.如果我发布网站然后通过Microsoft.AspNet.Server.WebListener运行它,我会得到同样的错误.看起来dnu发布与包装项目无法正常工作.

但是,运行Windows服务时不是这种情况.我有一个引用相同库的控制台应用程序(包),我用--no-source发布它,然后通过sc.exe将它安装为windows服务,它都按预期工作.

asp.net iis asp.net-mvc asp.net-core

5
推荐指数
1
解决办法
661
查看次数

Angular在服务中创建新范围

我有一个使用ngDialog的服务(这是该服务的唯一目的 - 显示常见的对话框:警报,确认等).ngDialog要求将范围对象作为参数传递给插值对话框的模板.所以我需要创建一个范围,分配它的属性并传递给ngDialog.open.问题是我无法将$ rootScope(或$ scope)注入服务和范围.$ new是我找到创建空范围的唯一方法.当我像这样注入$ rootScope

    myService.$inject = ['$rootScope', 'ngDialog'];
Run Code Online (Sandbox Code Playgroud)

我收到错误:未知的提供程序:$ rootScope Provider < - $ rootScope < - myService但是,如果我只使用快捷方式合并来判断依赖关系,这是有效的:

function myService($ rootScope,ngDialog){

// $ rootScope这里是可访问的

}

但这种方法不是缩小安全的.所以问题是:如何在服务中创建新范围?

更新 这里是jsfiddle,显示了我在项目中的结构.从指令调用服务时发生错误,现在问题消失了. 的jsfiddle

javascript angularjs

5
推荐指数
1
解决办法
919
查看次数

标签 统计

angularjs ×1

asp.net ×1

asp.net-core ×1

asp.net-mvc ×1

iis ×1

javascript ×1