使用 IFormFile 时,我在运行时收到此错误:
无法从程序集“Microsoft.AspNetCore.Http,版本=3.0.0.0,Culture=neutral,PublicKeyToken=adb9793829ddae60”加载类型“Microsoft.AspNetCore.Http.Internal.FormFile”。
我试过添加包:
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Http" Version="2.2.2" />
<PackageReference Include="Microsoft.AspNetCore.Http.Features" Version="3.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="2.2.5" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.0.0" />
<PackageReference Include="Microsoft.Extensions.Http" Version="3.0.0" />
<PackageReference Include="Microsoft.Net.Http.Headers" Version="2.2.0" />
Run Code Online (Sandbox Code Playgroud)
using Microsoft.AspNetCore.Http.Internal;
IFormFile f = new FormFile(memoryStream, 0, memoryStream.Length, "test", "test.pdf");
Run Code Online (Sandbox Code Playgroud)
存在 FormFile Aspnetcore 3.0 的文档。但是在检查我的 sdk 时,而不是使用 3.0.0. 它仅在 .net core 2.2 中可用。我安装了 2.2 和 3.0 版本
// C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.aspnetcore.http\2.2.0\lib\netstandard2.0\Microsoft.AspNetCore.Http.dll
#endregion
using System.IO;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
namespace Microsoft.AspNetCore.Http.Internal
{
public class FormFile : IFormFile
}
Run Code Online (Sandbox Code Playgroud)
RL8*_*L89 11
我遇到了同样的错误,找不到与此错误直接相关的任何内容,经过两天与此问题的斗争,我终于找到了解决方案。
当您尝试实例化 FormFile 或 FormFileCollection 类时会出现此问题。如果项目没有对 Microsoft.AspNetCore.App 的框架引用,则会抛出上述错误。
解决方案:
无论是实例化 FormFile 或 FormFileCollection 类的项目,都需要手动添加Microsoft.AspNetCore.App框架引用。
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2836 次 |
| 最近记录: |