gpt4 book ai didi

asp.net-core - 添加 XML 支持时无法编译 ASP.NET 5 Web API

转载 作者:行者123 更新时间:2023-12-02 20:10:05 25 4
gpt4 key购买 nike

我试图弄清楚 ASP.NET 5 Web API 如何支持内容协商。为了支持 XML(除了默认的 JSON 支持),according to another answer here on Stack Overflow ,我需要从可选的 NuGet 包添加该支持。

自该答案以来,情况发生了一些变化,但我下载了 Microsoft.AspNet.Mvc.Xml 包并编辑了我的 Startup.cs 文件:

public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc().AddMvcOptions(options =>
{
options.InputFormatters.Add(new XmlSerializerInputFormatter());
});
}

但是,这不能编译:

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,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 项目中,我尝试通过绑定(bind)重定向来解决这个问题,但由于这是 ASP.NET 5,这显然不再是解决问题的方法。

如何让我的代码编译?

最佳答案

我相信你必须使用Microsoft.AspNet.Mvc.Formatters.Xml包代替。另请参阅this issue在 github 上。

还有一个热门提示:使用http://packagesearch.azurewebsites.net/搜索哪个 NuGet 包包含您要查找的类。

关于asp.net-core - 添加 XML 支持时无法编译 ASP.NET 5 Web API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34176120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com