Windows кеширует версию. NET, используемую сборкой? - PullRequest
0 голосов
/ 17 января 2020

Я сделал ошибку, пытаясь развернуть программу, созданную с помощью. NET 4.7.1, на машине, на которой не установлена ​​эта версия. NET framework. Выскочило следующее сообщение об ошибке:

.NET framework error message

Поскольку установка нового. NET фреймворка требует перезагрузки, я не хочу go этот маршрут еще. Поэтому я попытался понизить целевой фреймворк до 4.6.1 ... но я все еще получаю ту же ошибку!

Я проверил, что сборка была скомпилирована для фреймворка 4.6.1:

screenshot of framework version

В качестве теста я переименовал сборку VueLinks2.exe и она запустилась просто отлично.

Единственное, о чем я могу думать, это то, что Windows «запоминает», какой фреймворк связан со сборкой. Это верно? Можно ли отменить это и понизить приложение до предыдущей версии без переименования файла?

1 Ответ

2 голосов
/ 17 января 2020

Там нет кеша. Решение о том, какую платформу использовать, является комбинацией элементов <requiredRuntime> (прежняя версия) и <supportedRuntime> в [exe].app.config и версии платформы сборки, если они не поставляются. Переименование исполняемого файла приведет к тому, что [exe].app.config больше не будет совпадать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...