Версия компонента сценария служб SSIS / целевая версия .NET - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь нацелиться на .NET 4.5.2 в компоненте скрипта, созданном в VS 2017. Каждый раз, когда я меняю целевую версию в VSTA, она возвращается к 4.5.Решение, которое я видел на нескольких других сайтах, а также здесь, состоит в том, чтобы открыть скрипт в VSTA, перейти к свойствам и изменить целевую версию.Независимо от того, сколько раз я это делаю, перестраиваю, перезагружаю VS и т. Д., Целевая версия всегда возвращается обратно к 4.5.

Мне интересно, связано ли это с версией компонента скрипта, которая продолжает отображаться как 11Это соответствует SQL 2012. Я не могу понять, почему компонент сценария создается как версия 11. У меня на компьютере установлены только VS 2017 и SQL Server 2017.Это заставило бы меня думать, что компоненты должны быть v14.Это не тот случай, и я не могу понять, как изменить версию.

Моя истинная цель - нацелиться на .NET 4.5.2.Я упоминаю только версию компонента скрипта, так как ответ об изменении целевой версии в VSTA не работает для меня, и я думаю, что это может быть связано.

1 Ответ

0 голосов
/ 25 сентября 2018

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

У нас есть две среды.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, нажмите «ОК» в редакторе задач «Сценарий», а затем сохраните пакет, ваш сценарий сохранится в пакете с правильной целевой структурой.Если вы попытаетесь снова отредактировать скрипт, вам придется заново установить версию фреймворка.

...