【问题标题】:Getting Assembly could not load error in .Net 5.0在 .Net 5.0 中获取程序集无法加载错误
【发布时间】:2022-01-25 00:39:19
【问题描述】:

我在 .NET 5.0 框架中创建了控制台应用程序并尝试使用 Microsoft.SqlServer.ManagedDTS 加载包,但我收到错误“无法从程序集“System.Data”加载类型“Microsoft.SqlServer.Server.SqlContext”,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089'.'

代码:


            Package package =null;
            Application app = new Application();
            try
            {

                string package_path = ConfigurationManager.AppSettings["DTSPackageImport"];
                package = app.LoadPackage(@package_path, null);

            }
            catch (Exception ex)
            {

            }
            finally
            {
                package.Dispose();
                package = null;
            }

堆栈跟踪:

 at Microsoft.SqlServer.Dts.Runtime.Application.LoadPackage(String fileName, IDTSEvents100 events, Boolean loadNeutral)
   at Microsoft.SqlServer.Dts.Runtime.Application.LoadPackage(String fileName, IDTSEvents events, Boolean loadNeutral)
   at Microsoft.SqlServer.Dts.Runtime.Application.LoadPackage(String fileName, IDTSEvents events)
   at ConsoleApp1.Program.Main(String[] args) in D:\..\Sample Demo\consolDotNet5\consoldotnet5\ConsoleApp1\Program.cs:line 18

ManagedDTS 版本: Microsoft.SqlServer.ManagedDTS\v4.0_15.0.0

请帮我解决这个问题。 提前致谢。

【问题讨论】:

  • 粘贴您在 AppSettings "packageName" 中指定的字符串。你的控制台使用 64 位吗?
  • 您的 proj 文件中添加了错误的库版本。修复这些错误的最简单方法是在解决方案资源管理器中删除引用下的库的当前版本。然后添加一个新的引用,它将库的正确版本添加到 proj 文件中。然后做一个干净的构建,它将删除与旧库一起使用的 obj 文件。

标签: c# sql-server .net-core .net-5


【解决方案1】:

尝试以下方法:

 - install the SDK tools, if not installed
 - go to properties of the project and check in debug configuration-> if the 64-bit is true set it to false and vice versa

如果这些没有帮助,那么您将需要提供额外的信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-28
    • 2016-04-18
    • 2019-09-06
    • 2012-01-10
    • 1970-01-01
    • 2015-10-11
    • 2011-10-14
    • 1970-01-01
    相关资源
    最近更新 更多