Это довольно интересный вопрос.Я пытался решить эту проблему на своем локальном компьютере разработчика и нашел несколько интересных вещей.
У нас есть две среды.SQL 2008 R2 с BIDS (VS 2008) и SQL 2016 с SSDT (VS 2017).Используя BIDS, я могу изменить целевую базовую версию скриптовой задачи, как и ожидалось.При перезагрузке сценария в VSTA всегда открывается файл ScriptMain.cs с правильной версией установленной платформы.
В VS 2017 я могу открыть задачу сценария в VSTA, и целевая среда всегда загружается как 4.5, как вывидишь.Но если я изменю его, скажем, на 4.5.2, соберу решение, закрою VSTA, а затем сохраню и закрою пакет, я могу открыть файл .dtsx в текстовом редакторе и увидеть, что он сохранил правильную версию платформызадача.
Я думаю, что проблема в том, что, хотя скрипт сохраняется в определении пакета, при редактировании скрипта VSTA открывает скрипт как часть временного проекта.Похоже, что этот временный проект по умолчанию нацелен на 4.5.
Я обнаружил, что если вы установите целевую платформу для временного проекта сценария на 4.5.2, напишите весь код 4.5.2, соберите проект, сохраните все файлы.затем закройте VSTA, нажмите «ОК» в редакторе задач «Сценарий», а затем сохраните пакет, ваш сценарий сохранится в пакете с правильной целевой структурой.Если вы попытаетесь снова отредактировать скрипт, вам придется заново установить версию фреймворка.