Can't find the DTS pipeline component to reference in Visual Studio 2019 - ssis

I haven't written any custom SSIS components in a few years and am having problems trying to do one currently. I have the following installed:
VS 2019, SQL Server 2017, SSDT.
I have created a project in VS and when I try to find the component containing the SSIS dts pipeline stuff, it is not in the list. I do see a plethora of other SSIS transforms, sources, and destinations type libraries though.
Any ides on what I am missing?

Related

How do I edit SSIS Script Tasks in Visual Studio 2019?

Using the SSIS Data Tools extension for Visual Studio, it is possible to carry out various operations in a straightforward manner. However VSTA and the Script Task are a major exception—specifically in VS 2019.
After editing an existing Script Task the script text will reset to the default value.
Creating a new Script Task (other than the default) is likewise impossible, as far as I can tell.
I have tried editing the base64 string in which the VSTA task is stored within my .dtsx files.
After that I tried manipulating the files and directory structure under the VSTA temp directory in order to persist changes in the scripting solutions/projects. I have also tried many other tactics, such as including the task implementation as an additional source file, as a binary reference, or via partial classes, a base class etc., within the Script Task.
But none of these approaches (even if they were to work) are necessarily maintainable or simple in the context of a team.
Is there any sustainable long-term alternative that allows Script Task development in VS 2019?
The SQL Server Integration Services Projects extension for Visual Studio 2019 has a fix.
Script Task creation and editing appears to be working as of version 3.2.1 of the extension.
This was apparently released some time in the past few weeks (as of date of writing, 26 November 2019).

Generate the EDMX backing files in Visual Studio 2019

After modifying an EDMX in Visual Studio 2019, it saves the EDMX properly but does not generate the C# files.
This is a database first functionality, is there a new trick in VS2019 to actually generate the C# files on save?
I was going to write a feedback to Microsoft but the same question is asked on their network. The issue was
VS 2019 Preview2-Preview 4.2 after saving EDMX code is not generated
It is marked as resolved for VS2019 16.1
https://github.com/aspnet/EntityFramework6/issues/705
It is also mentioned in the bug that you may run the custom tools manually on all the EDMX, and *.tt files to generate your templates. And this works.

Is there a version-specific compilation symbol when SSIS compiles script components?

I have packages that use script components as a data source. Some of them override the PrimeOutput method from the Microsoft.SqlServer.Dts.Pipeline.ScriptComponent class. In 2008, this method has 3 parameters, but starting in 2012, it now has four parameters.
These packages are currently executing under SSIS 2008, but will soon be moved to SSIS 2014. I need to open these packages up and fix the issue, but I would like to do it ahead of time and still be able to deploy to SSIS 2008, but also have them work under 2014 when the new environment is ready without having to make additional changes when moving between environments.
If I could differentiate between environments at compile time, then I can get around this problem, but that would mean I would need to use preprocessor directives. I know I can define them in the script component's project file, but I'd like this to work in SSIS 2008 and SSIS 2012 without having to make changes to the .dtsx file.
Does anyone know if the various versions of SSIS define version-specific directives when compiling script components?

Linq to Sql Classes missing from within a script task in visual studio 2013 in an SSIS package

I'm trying to migrate an existing Visual Studio C# project to run in a script task in an SSIS package.
The current C# console application uses "Linq to Sql Classes" to generate a dbml file and the necessary classes.
But when I go to edit the script task in the SSIS PACKAGE I'm not able to find the LINQ TO SQL CLASSES. I right click on the project and select "add -> new item" and look for the "Linq to Sql Classes" item to add the dbml file to my project but it's not there?
Confusing because if I do the exact same thing in Visual Studio 2013 in a console application, I'm able to add the "Linq to Sql Classes". Does anyone have any ideas? I realize I could use Entity Framework but that would take a considerable amount of time to re-write everything. Also I've thought about just executing the console application's compiled executable from within the SSIS package but our database team will not allow packages to run executables.
Also I'm targeting the .net framework 4.0 for both the Visual Studio 2013 console applications and from within the Visual Studio 2013 editor in the SSIS Package Script Task.
I stumbled across this question because I have(had) this exact same problem. We had an existed DataContext file which had been mapped to a database. I had updated the database which SSIS but my changes werent being reflected in the Script task. I created a seperate project and created a linq-to-sql file and connected it to the same database as my Script task. Then added all the existing tables and the new one too. which generated a new Datacontext file. I then copied the code back into the original Datacontext file within the script task.
Hope this helps you and future programmers

Object Data Source in Visual Studio 2012 Express for Web

I'm trying to follow various tutorials on how to create LINQ to SQL classes and they all say I should connect to the Object Data Source. However there's no such source available to select in Visual Studio 2012 Express for Web. Is this a limitation of the Express for Web edition? I have tried to find info on this, but haven't found anything. Is there a workaround?
I figured it out. This should be done through Project->Add New Data Source. Not Tools->Connect to Database or Database Explorer.