关于C# “/” 应用程序中的服务器错误,无法加载引用程序集来执行

今天部署一个简单的C# web api 项目时,启动报错,如下:

堆栈跟踪:
[BadImageFormatException: 无法加载引用程序集来执行。]

[BadImageFormatException: 未能加载文件或程序集“Microsoft.AspNetCore”或它的某一个依赖项。不应出于执行的目的加载引用程序集。只能在仅限反射的加载程序上下文中加载引用程序集。 (异常来自 HRESULT:0x80131058)]
   System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0
   System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +232
   System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection) +113
   System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +23
   System.Reflection.Assembly.Load(String assemblyString) +35
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +49

[ConfigurationErrorsException: 未能加载文件或程序集“Microsoft.AspNetCore”或它的某一个依赖项。不应出于执行的目的加载引用程序集。只能在仅限反射的加载程序上下文中加载引用程序集。 (异常来自 HRESULT:0x80131058)]
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +762
   System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +259
   System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +167
   System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +238
   System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies() +78
   System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath, Boolean& isRefAssemblyLoaded) +334
   System.Web.Compilation.BuildManager.ExecutePreAppStart() +178
   System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +746

[HttpException (0x80004005): 未能加载文件或程序集“Microsoft.AspNetCore”或它的某一个依赖项。不应出于执行的目的加载引用程序集。只能在仅限反射的加载程序上下文中加载引用程序集。 (异常来自 HRESULT:0x80131058)]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +552
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +122
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +737

原来是导入的依赖(Microsoft.AspNetCore.dll) 和框架不匹配,将其移除即可。

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的C#窗体应用实现连接SQL数据库的示例代码: 1. 在Visual Studio新建一个Windows Forms应用程序项目。 2. 在“解决方案资源管理器”,右键单击“引用”并选择“添加引用”。在“添加引用”对话框,选择“程序”选项卡,然后选择“System.Data.SqlClient”。 3. 打开“Form1.cs”文件,并在顶部添加以下using命名空间: ``` using System.Data.SqlClient; ``` 4. 在窗体上添加以下控件:一个DataGridView控件,一个Label控件和一个Button控件。 5. 双击Button控件,在事件处理程序添加以下代码: ``` private void btnLoad_Click(object sender, EventArgs e) { string connectionString = "Data Source=服务器名称;Initial Catalog=数据库名称;User ID=用户名;Password=密码"; string queryString = "SELECT * FROM News"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(queryString, connection); connection.Open(); SqlDataReader reader = command.ExecuteReader(); DataTable dataTable = new DataTable(); dataTable.Load(reader); dataGridView1.DataSource = dataTable; reader.Close(); } } ``` 在这段代码,首先定义了一个连接到SQL数据库的连接字符串。然后定义了一个SQL查询语句,用于从数据库检索新闻数据。在using语句块,创建了一个SqlConnection对象和一个SqlCommand对象,并将连接字符串和查询语句传递给它们。然后打开连接并执行查询,将查询结果加载到一个DataTable对象,并将其绑定到DataGridView控件上显示。 6. 运行程序并单击Button控件,应该能够在DataGridView控件看到数据库的新闻数据。 以上就是一个简单的C#窗体应用连接SQL数据库的实现方法。在实际开发,您需要根据具体情况修改连接字符串和查询语句,以及添加其他必要的控件和功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值