2

错误发生在这里:

defaults: new { id = RouteParameter.Optional }

我得到的错误:

“z:\Ember.n.SignalR\bin\System.Web.Http.Common.dll”和“z:\Program Files (x86)\Microsoft ASP”中都存在“System.Web.Http.RouteParameter”类型。 NET\ASP.NET MVC 4\Assemblies\System.Web.Http.dll'

我的代码:

using System.Web.Http;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;

namespace Ember.n.SignalR
{
    // Note: For instructions on enabling IIS6 or IIS7 classic mode, 
    // visit http://go.microsoft.com/?LinkId=9394801

    public class MvcApplication : System.Web.HttpApplication
    {
        public static void RegisterGlobalFilters(GlobalFilterCollection filters)
        {
            filters.Add(new HandleErrorAttribute());
        }

        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
                //defaults: new { id = System.Web.Http.RouteParameter.Optional }
            );

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Customer", action = "Index", id = UrlParameter.Optional }
            );
        }

        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            RegisterGlobalFilters(GlobalFilters.Filters);
            RegisterRoutes(RouteTable.Routes);

            BundleTable.Bundles.RegisterTemplateBundles();
        }
    }
}
4

2 回答 2

3

去参考

-> 右键单击​​ System.Web.Http 并获取其属性 -> 分配 Aliases ,例如 Aliases: MyAlias

现在在你的代码中做这样的改变

extern alias MyAlias;
using MyAlias.System.Web.Http;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;

我希望这能解决你的问题

于 2014-06-03T08:50:13.077 回答
0

相同的组件出现在两个地方。asp.net-web api 的程序集存在于 GAC(全局程序集缓存)中,因为您已经安装了包含此程序集的 asp.net mvc-4(除了其他程序集)。您的 bin 目录中存在相同的 dll。您可以尝试从 bin 中删除 dll,并在需要时从您的项目中取消引用它。

于 2013-04-16T10:40:03.450 回答