BadImageFormatException - причина 32-разрядного и 64-разрядного конфликта, не влияющего на ASP.NET - PullRequest
0 голосов
/ 12 февраля 2019

Я создал два проекта

  1. Базовое веб-приложение ASP.NET |Core 2.2
  2. Веб-приложение ASP.NET (.NET Framework) |.Net 4.6.1

В моем тестовом контроллере я использовал экспортированную функцию из 32-разрядной неуправляемой DLL, используя [DllImport ("Testing.DLL")]

Copyэтот 32-битный собственный DLL-файл в обеих папках проекта. Запускается как «Любой ЦП» в моей 64-битной Windows 10 с IIS Express (F5 в VS2017)

Проект, созданный в Core 2.2, аварийно завершился со следующим исключением

[
  {
    "errorCode": -1001,
    "errorString": "An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)",
    "exception": {
      "ClassName": "System.BadImageFormatException",
      "Message": "An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)",
      "Data": null,
      "InnerException": null,
      "HelpURL": null,
      "StackTraceString": "   at WebApplication1.DCCAPI.BUICExit()\r\n   at WebApplication1.Controllers.TS240Controller.BUICInit() in C:\\Users\\Waqar Azeem\\source\\repos\\WebApplication1\\WebApplication1\\Controllers\\TS240Controller.cs:line 71",
      "RemoteStackTraceString": null,
      "RemoteStackIndex": 0,
      "ExceptionMethod": null,
      "HResult": -2147024885,
      "Source": "WebApplication1",
      "WatsonBuckets": null,
      "BadImageFormat_FileName": null,
      "BadImageFormat_FusionLog": null
    }
  }
]

Ищите причину, по которой он не завис в .Net 4.6.1.Что я должен сравнить в обоих проектах, чтобы понять это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...