Запустите. NET 2.0 целевую DLL в исполняемом файле. NET 4.5 - PullRequest
0 голосов
/ 03 апреля 2020

У меня очень простая библиотека C# (назовем ее myApi.dll), предназначенная для. NET 2.0, которая выполняет простую вставку базы данных. Я основные требования должны держать его в. NET 2.0. Когда я ссылаюсь на myApi.dll в новом новом приложении VS2013, также нацеленном на NET 2.0, оно работает точно так, как запрограммировано.

Проблема заключается в том, что я переношу myApi.dll в другой проект, на который нацелен. NET 4.5, разработанный в VS2019, вылетает. Сбой с сообщением об ошибке:

"Could not load file or assembly 'Microsoft.Vsa, Version=7.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified."

Обе исполняемые программы находятся на одной машине. Ориентация на приложение. NET 2.0 отлично работает на myApi.dll, но ориентация на приложение. NET 4.5 - нет.

Я рассмотрел полезные советы, такие как

Я подумал о том, чтобы установить файл App.confg приложения 4.5 в Зеркало это помогло бы, но это не помогло.

<?xml version="1.0"?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
    <supportedRuntime version="v2.0"/>
  </startup>
</configuration>

Есть мысли о том, почему. NET 2.0 может нормально вызывать myApi.dll и происходит сбой приложения. NET 4.5?

1 Ответ

0 голосов
/ 03 апреля 2020

VS 2019 не поддерживает устаревший API. NET 2.0 до 3.5, потому что он не поддерживает. NET Framework до 4.0. Используйте более старую версию Visual Studio, например VS 2015 (с обновлением 3), для устаревшего использования Vsa API.

См. Также эту документацию VS 2019: https://docs.microsoft.com/en-us/visualstudio/releases/2019/compatibility# -visual-studio-2019-support-for- net -развитие

Visual Studio 2019 Support for .NET Development

...