в моей компании у нас есть проект, который был построен с использованием .netcore v 1.1. Проект содержит все классы, используемые веб-сервисом, также встроенным в v1.1. Я пытаюсь написать тестер для API в проекте aspx и хотел сослаться на этот набор классов либо как включенный проект, либо даже как DLL.
Я пропущу ад, пытаясь заставить его работать с включенными проектами, и перейду к тому, чтобы мое веб-приложение ссылалось на dll. Когда я запускаю приложение (в разработке, VS2017), оно хорошо компилируется, но при первой попытке создания объекта из этой dll я получаю эту ошибку:
Не удалось загрузить файл или сборку 'System.Runtime, Версия = 4.1.0.0, Культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a' или одна из ее зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)
Я просмотрел сеть, и есть всевозможные вопросы / ответы, которые либо не связаны, либо не имеют смысла.
Я добавил перенаправления привязки, но это не изменило ошибку:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />
</dependentAssembly>
На мой взгляд, это должно быть прямое использование dll, без облака, без каких-либо значительных вещей, просто программа .net (4.6.1), использующая ссылочную dll (ядро 1.1). Я признаю, что не разбираюсь в тонкостях DLL в эти дни, но я думал, что Microsoft работает над тем, чтобы вывести нас из ада DLL.