Несовместимость netCore 1.1 с .Net Framework 4.6.1 в проекте aspx - PullRequest
0 голосов
/ 30 октября 2018

в моей компании у нас есть проект, который был построен с использованием .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.

1 Ответ

0 голосов
/ 30 октября 2018

Как уже упоминалось здесь , вам может потребоваться таргетинг на несколько фреймворков.

<PropertyGroup><TargetFrameworks>net452;netstandard1.3</TargetFrameworks></PropertyGroup>

Возможно, вы закончите обновление до последней версии .NET Core или Standard.

Этот пример из github может дать вам более ясную идею, он был упомянут в этой статье , где объясняются различные сценарии объединения проектов с использованием двух структур, а также сценарии, в которых полезно держать их отдельно.

...