Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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 Can';添加XML支持时,请不要编译ASP.NET 5 Web API_Asp.net Core_Dnx - Fatal编程技术网

Asp.net core Can';添加XML支持时,请不要编译ASP.NET 5 Web API

Asp.net core Can';添加XML支持时,请不要编译ASP.NET 5 Web API,asp.net-core,dnx,Asp.net Core,Dnx,我试图弄清楚ASP.NET5WebAPI是如何支持内容协商的。为了支持XML(除了默认的JSON支持之外),我需要从可选的NuGet包中添加该支持 自那次回答之后,情况有了一些变化,但我放下了Microsoft.AspNet.Mvc.Xml包,编辑了我的Startup.cs文件: public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddM

我试图弄清楚ASP.NET5WebAPI是如何支持内容协商的。为了支持XML(除了默认的JSON支持之外),我需要从可选的NuGet包中添加该支持

自那次回答之后,情况有了一些变化,但我放下了
Microsoft.AspNet.Mvc.Xml
包,编辑了我的
Startup.cs
文件:

public void ConfigureServices(IServiceCollection services)
{
    // Add framework services.
    services.AddMvc().AddMvcOptions(options =>
    {
        options.InputFormatters.Add(new XmlSerializerInputFormatter());
    });
}
但是,这不会编译:

类型“InputFormatter”是在未引用的程序集中定义的。您必须添加对程序集“Microsoft.AspNet.Mvc.Core,Version=6.0.0.0,Culture=neutral,PublicKeyToken=null”的引用

以下是完整的编译错误消息:

1>C:\Users\mark\Desktop\WebApplication1\src\WebApplication1\Startup.cs(33,17,33,44): DNX 4.5.1 error CS0012: The type 'InputFormatter' is defined in an assembly that is not referenced. You must add a reference to assembly 'Microsoft.AspNet.Mvc.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null'.
1>C:\Users\mark\Desktop\WebApplication1\src\WebApplication1\Startup.cs(33,45,33,78): DNX 4.5.1 error CS1503: Argument 1: cannot convert from 'Microsoft.AspNet.Mvc.Xml.XmlSerializerInputFormatter' to 'Microsoft.AspNet.Mvc.Formatters.IInputFormatter'
1>C:\Users\mark\Desktop\WebApplication1\src\WebApplication1\Startup.cs(33,17,33,44): DNX Core 5.0 error CS0012: The type 'InputFormatter' is defined in an assembly that is not referenced. You must add a reference to assembly 'Microsoft.AspNet.Mvc.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null'.
1>C:\Users\mark\Desktop\WebApplication1\src\WebApplication1\Startup.cs(33,45,33,78): DNX Core 5.0 error CS1503: Argument 1: cannot convert from 'Microsoft.AspNet.Mvc.Xml.XmlSerializerInputFormatter' to 'Microsoft.AspNet.Mvc.Formatters.IInputFormatter'
错误消息似乎相当清楚,但该项目已经包含了
Microsoft.AspNet.Mvc.Core
,尽管不是所需的版本:

Id                                  Versions         
--                                  --------         
Microsoft.AspNet.IISPlatformHandler {1.0.0-rc1-final}
Microsoft.AspNet.Mvc                {6.0.0-rc1-final}
Microsoft.AspNet.Mvc.Core           {6.0.0-rc1-final}
Microsoft.AspNet.Mvc.Xml            {6.0.0-beta5}    
Microsoft.AspNet.Server.Kestrel     {1.0.0-rc1-final}
Microsoft.AspNet.StaticFiles        {1.0.0-rc1-final}
Microsoft.Extensions.Configurati... {1.0.0-rc1-final}
Microsoft.Extensions.Configurati... {1.0.0-rc1-final}
Microsoft.Extensions.Logging        {1.0.0-rc1-final}
Microsoft.Extensions.Logging.Con... {1.0.0-rc1-final}
Microsoft.Extensions.Logging.Debug  {1.0.0-rc1-final}
在我写这篇文章时,ASP.NET 5仅在候选发行版本中可用,因此上述软件包是最新的可用软件包

显然,
Microsoft.AspNet.Mvc.Core 6.0.0.0
不可用。在一个普通的.NET项目中,我会尝试通过绑定重定向来解决这个问题,但由于这是ASP.NET 5,显然不再是解决问题的方法


如何使代码编译?

我相信您必须使用该软件包。另请参见github上的


还有一个热点提示:用于搜索包含您要查找的类的NuGet包

那个pacakgesearch网站太棒了——我一直在寻找类似的东西!