提问人:Kieran 提问时间:11/16/2023 最后编辑:marc_sKieran 更新时间:11/16/2023 访问量:36
ASP.NET MVC 5 错误 - 无法加载文件或程序集 Microsoft.Bcl.AsyncInterfaces
ASP.NET MVC 5 error - Could not load file or assembly Microsoft.Bcl.AsyncInterfaces
问:
我正在测试一些对新 up 类型的简单反射,这些类型在面向 .NET 4.5 的全新 ASP.NET MVC Web 应用程序中实现接口。我收到错误
无法加载文件或程序集“Microsoft.Bcl.AsyncInterfaces,Version=7.0.0.0,Culture=neutral,PublicKeyToken=cc7b13ffcd2ddd51”或其依赖项之一。“:”Microsoft.Bcl.AsyncInterfaces,版本 = 7.0.0.0,区域性 = 中性,公共密钥令牌 = cc7b13ffcd2ddd51
场景
我在 .NET 4.5 上创建了一个全新的 ASP.NET MVC 应用程序。我正在使用此版本进行向后兼容。我将以下代码添加到控制器中。控制器或端点无关紧要。所以只是为了测试,我把代码放在 的方法中。HomeController
About
public ActionResult About()
{
try
{
var testInterfaceType = typeof(ITest);
var types = AppDomain.CurrentDomain.GetAssemblies()
.SelectMany(s => s.GetTypes())
.Where(p => !p.IsAbstract && !p.IsInterface && testInterfaceType.IsAssignableFrom(p));
foreach (var type in types)
{
var instance = (ITest)Activator.CreateInstance(type);
instance.Execute();
}
}
catch (ReflectionTypeLoadException e)
{
var loaderExceptions = e.LoaderExceptions;
// I get 5 of these LoaderExceptions, all the same. e.g 'Could not load file or assembly 'Microsoft.Bcl.AsyncInterfaces . . .'
}
return View();
}
ITest
是一个简单的接口,如下所示,位于 ASP.NET MVC 应用项目中。
public interface ITest
{
void Execute();
}
因此,我已经实现了一个简单的实例(同样,该实例位于 ASP.NET MVC 应用程序项目中)
public class Test1 : ITest
{
public void Execute()
{
Console.WriteLine("Hello from test 1");
}
}
该解决方案构建并完美运行。一旦我点击方法中的代码,就会抛出错误。请记住,我没有添加任何对 MVC 应用程序 ASP.NET 新锅炉电镀的引用。我没有添加和Nuget包。在任何解决方案范围的搜索中都没有提到 Microsoft.Bcl.AsyncInterfaces 作为字符串。解决方案中没有任何名称包含“Microsoft.Bcl.AsyncInterfaces”的文件。没有对名称包含“Microsoft.Bcl.AsyncInterfaces”的任何项目的引用。HomeController
About
据我所知,Microsoft.Bcl.AsyncInterfaces 是纯粹的 .NET Standard/Core 动物,那么为什么我在 MVC 5 / .NET 4.5 ASP.NET 看到这个错误?
我将不胜感激任何帮助。非常感谢。
答: 暂无答案
评论