Запустите приложение c#, используя более старую версию. net? - PullRequest
1 голос
/ 07 апреля 2020

Как заставить мое приложение C# работать с использованием. net 4.5 среды выполнения? Даже если у меня установлены 4.5, 4.6, 4.7, 4.8, et c?

Причина, по которой я пытаюсь это сделать, заключается в том, что я хотел воспроизвести ошибку, существовавшую в более ранней версии WPF , поэтому я хотел запустить код для более ранней версии. Net без необходимости что-либо удалять.

Я попробовал следующее:

  • Целевая среда. Net 4.5 в настройках сборки приложения

, а затем добавил следующую конфигурацию:

<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup>

Чтобы проверить, работает ли он во время выполнения 4.5, я попытался получить доступ что-то добавлено после 4.5:

private static bool Is462Installed()
{
    // API changes in 4.6.2: https://github.com/Microsoft/dotnet/blob/master/releases/net462/dotnet462-api-changes.md
    return Type.GetType("System.Security.Cryptography.AesCng, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", false) != null;
}

Но оно вернулось. То есть он не использует. Net 4.5 среды выполнения?

Так что я предполагаю, что он всегда будет использовать последние установленные вами среды выполнения?

...