Я пытаюсь перевести устаревший проект ASP.net VB Webforms в проект ASP.net Core 2 API.
К сожалению, существует довольно много ссылок на сборку, написанную на VB.net, и у меня нет доступа к исходному коду.
Я могу добавить ссылку на проект, но когда я пытаюсь отладить проект, он запускается до тех пор, пока я не использую метод из сборки и не получу сообщение об ошибке:
TypeLoadException: Could not load type 'Microsoft.VisualBasic.DateAndTime' from assembly 'Microsoft.VisualBasic, Version=10.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
Существует несколько переменных, которые передаются ему, одна из которых - DateTime.
DateTime dateIn = new DateTime(2018, 5, 7);
DateTime dateOut = new DateTime(2018, 5, 20);
Я развернул простой проект веб-форм на C #, добавил сборку и таким же образом ссылался на код, он работает и возвращает правильное значение, ему просто не нравится среда .net core 2.
Я нашел другие подобные вопросы, но ответы, похоже, не связаны:
System.TypeLoadException Microsoft.VisualBasic ASP.NET Core 2
Идеи с чего начать?
Обновление 1
Спасибо за комментарии, чтобы выяснить, как именно это должно работать.
Я посмотрел на инструменты, упомянутые @john, чтобы преобразовать код из DLL обратно в какой-либо источник. К сожалению, в настоящее время у меня нет необходимого времени (или, возможно, навыков), чтобы переписать большие куски кода, которые не работают.
Новый вопрос / идея :
Можно ли как-нибудь скомпилировать текущую DLL как некий exe или com объект и взаимодействовать с ним вне уровня .NET Core и только на уровне ОС? (Надеюсь, я объясняю это правильно. Я понимаю, что это нарушит кроссплатформенную совместимость, но это может решить проблему в краткосрочной перспективе, чтобы помочь вывести проект на улицу, и тогда можно будет посвятить время переписыванию проблемная сборка.)