小编Maa*_*eft的帖子

预定义类型"System.Threading.Tasks.Task"在全局别名中的多个程序集中定义

我刚刚建立了一个新的asp.net mvc 4项目,使用最新的.net框架(4.5)与Visual Studio 2012结合.我添加了一些课程,侧面项目等.我突然注意到我收到了5次编译项目时的相同警告.警告说明:

ASPNETCOMPILER:警告CS1685:预定义类型'System.Threading.Tasks.Task'在全局别名中的多个程序集中定义; 使用'c:\ Program Files(x86)\ Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\mscorlib.dll'中的定义

所以现在我想知道这种类型的组件定义的是哪个组件?我在解决方案中的所有项目都使用.net框架的4.5版本,因此4.5\mscorlib.dll应该是唯一的或者我错过了什么?

我的解决方案包括4个项目(3个类库和1个mvc-4 web项目).当我独立编译它们时,3类库不会显示任何警告.它只是抛出警告的Web项目,但是Web项目引用了类库项目.Web项目的参考:

  • Antlr3.Runtime
  • Microsoft.CSharp
  • Microsoft.Web.Infrastructure
  • 系统
  • System.Data
  • System.Web.DynamicData
  • System.Web.Entity
  • System.Web.ApplicationServices
  • System.ComponentModel.DataAnnotations
  • System.Core程序
  • System.Data.DataSetExtensions
  • System.Web.Optimization
  • System.Xml.Linq的
  • 的System.Web
  • System.Web.Extensions程序
  • System.Web.Abstractions
  • System.Web.Routing
  • 的System.Xml
  • 系统配置
  • System.Web.Services
  • 的System.EnterpriseServices
  • Newtonsoft.Json
  • System.Net.Http
  • System.Net.Http.Formatting
  • System.Net.Http.WebRequest
  • System.Web.Helpers
  • System.Web.Http
  • System.Web.Http.WebHost
  • System.Web.Mvc
  • System.Web.Razor
  • System.Web.WebPages
  • System.Web.WebPages.Deploymen
  • System.Web.WebPages.Razor
  • WebGrease

有没有人有建议在哪里看?

提前致谢

BHD

更新 似乎更多的人有类似的问题,在我的情况下答案是:我们在这里使用一些公司库,它们确实使用旧版本的框架(3.5)并引发了警告.

c# asp.net-mvc asp.net-mvc-4 asp.net-4.5

13
推荐指数
1
解决办法
1万
查看次数

Jquery .show()无法在firefox中运行

我在firefox中的jquery show函数有问题.

情况:我在弹出窗口(fancybox)中加载了一个带有aspx页面的iframe.在那个aspx页面中,我有一个带有onclick事件的按钮,它调用一个自定义函数,并在该函数中触发div上的.show()函数.这个div有一个样式元素,其中包含:display:none;.

这适用于IE,safari,chrome.当我单独加载aspx页面时,这甚至可以在firefox中运行.它在fancybox-iframe弹出窗口中的firefox中不起作用.我没有javascript错误.甚至显示:none也不会从style属性中删除,但div不显示.

来自页面的html

<div class="popupWrapper">
  ..some elements
  <div id="psharebutton" style="display:none;"> 
   ..content of the div
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

javascript代码:

function dolinkedin(url, title, summary, source) {
        $(".smbutton").addClass("buttonDisabled");
        $("#linklinkedin").removeClass("buttonDisabled");
        $("#psharebutton").show();

        parent.sizeFancybox();
    }
Run Code Online (Sandbox Code Playgroud)

触发弹出窗口的按钮是一个锚点,它具有fancyboxiframe类.Fancybox将自动生成用于显示弹出窗口的js代码.

我检查过这些主题:

我已经检查过我的HTML是否有效且确实如此.

任何的想法?

BHD

firefox jquery show

11
推荐指数
1
解决办法
8339
查看次数

为什么ASP.NET Web Api模型绑定使用参数类型来确定值的来源?

几天后我正在尝试创建自己的web api控制器.对其余约定的二重奏我需要使用post请求来创建一个对象.为了得到具体,我有这个控制器这个动作:

public class ReservationController : ApiController
{
    [HttpPost]
    public void Create(int roomId, DateTime arrivalDate)
    {
      //do something with both parameters   
    }
}
Run Code Online (Sandbox Code Playgroud)

当我向它发送一个帖子请求时,这段代码无法正常工作,我收到的404异常是这样的:

在控制器上找不到与请求匹配的"Some"操作.

原因很简单类型从查询字符串,从尸体的复合型阅读,根据本aricle.Web api使用参数将操作与请求进行匹配,因此无法将我的操作映射到请求.

我知道我可以使用[frombody]标签,但你只能将它应用于一个参数而且我有2.我也知道我可以创建一个包含两个参数的包装器对象,但我不愿意为我的所有电话使用包装器.

所以我知道我可以通过这些方法解决这个问题.我还认为这是由于post请求的主体只能读取一次这一事实.但我的实际问题是:

为什么参数的来源是由它的类型决定的,而不是由它的可用性决定的,特别是当约定规定你应该做一个post创建的请求时?在MVC中就是这种情况,为什么不在web api中呢?

最好的祝福,

BHD

最终更新 由于我得到了一些赞成,可能更多人面临同样的问题.最后它是这样的:Web-Api!= MVC.这根本不是一回事,web api团队做出的设计决策与我认为的mvc团队不同.

c# asp.net rest model-binding asp.net-web-api

6
推荐指数
1
解决办法
5317
查看次数