Skip to content

Commit

Permalink
release 2.4.1
Browse files Browse the repository at this point in the history
  • Loading branch information
Greg Galloway committed Mar 12, 2023
1 parent 471af0d commit c189913
Show file tree
Hide file tree
Showing 52 changed files with 155 additions and 111 deletions.
4 changes: 3 additions & 1 deletion Core/VersionInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ public class VersionInfo
{
// BIDS Helper Assembly & VSIX Version
// N.B. Manually update the manifest file, if you change this - See source.extension.vsixmanifest
public const string Version = "2.4.0";
public const string Version = "2.4.1";

private static readonly object lockResource = new object();
private static Version visualStudioVersion;
Expand Down Expand Up @@ -133,6 +133,8 @@ public static string SqlServerFriendlyVersion
return "2017";
else if (sVersion.StartsWith("15."))
return "2019";
else if (sVersion.StartsWith("16."))
return "2022";
else
return string.Format("(SQL Unknown {0})", sVersion);
}
Expand Down
Binary file not shown.
Binary file not shown.
Binary file modified DLLs/SQL2019/Reference/Microsoft.AnalysisServices.BackEnd.dll
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified DLLs/SQL2019/Reference/Microsoft.AnalysisServices.Core.dll
Binary file not shown.
Binary file modified DLLs/SQL2019/Reference/Microsoft.AnalysisServices.Design.AS.DLL
Binary file not shown.
Binary file not shown.
Binary file modified DLLs/SQL2019/Reference/Microsoft.AnalysisServices.Project.AS.DLL
Binary file not shown.
Binary file modified DLLs/SQL2019/Reference/Microsoft.AnalysisServices.Tabular.dll
Binary file not shown.
Binary file modified DLLs/SQL2019/Reference/Microsoft.AnalysisServices.VSHost.dll
Binary file not shown.
Binary file modified DLLs/SQL2019/Reference/Microsoft.AnalysisServices.dll
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified DLLs/SQL2019/Reference/Microsoft.DataWarehouse.AS.dll
Binary file not shown.
Binary file modified DLLs/SQL2019/Reference/Microsoft.DataWarehouse.RS.dll
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified DLLs/SQL2019/Reference/Microsoft.SQLServer.DTSPipelineWrap.dll
Binary file not shown.
Binary file modified DLLs/SQL2019/Reference/Microsoft.SqlServer.DTSRuntimeWrap.dll
Binary file not shown.
Binary file modified DLLs/SQL2019/Reference/Microsoft.SqlServer.DlgGrid.dll
Binary file not shown.
Binary file modified DLLs/SQL2019/Reference/Microsoft.SqlServer.Dts.Design.DLL
Binary file not shown.
Binary file not shown.
Binary file modified DLLs/SQL2019/Reference/Microsoft.SqlServer.Graph.DLL
Binary file not shown.
Binary file modified DLLs/SQL2019/Reference/Microsoft.SqlServer.GridControl.dll
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified DLLs/SQL2019/Reference/Microsoft.SqlServer.ManagedDTS.dll
Binary file not shown.
7 changes: 0 additions & 7 deletions DLLs/SQL2019/copy-ssdt-dlls.bat
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,6 @@ copy /Y /B "Microsoft.SqlServer.DTSRuntimeWrap.dll" "%dest%"
copy /Y /B "Microsoft.SqlServer.ExecPackageTaskWrap.dll" "%dest%"
copy /Y /B "Microsoft.SqlServer.ManagedDTS.dll" "%dest%"

cd "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSIS\150\BIShared"
copy /Y /B "Microsoft.DataWarehouse.dll" "%dest%"
copy /Y /B "Microsoft.AnalysisServices.Project.dll" "%dest%"
copy /Y /B "Microsoft.DataWarehouse.VsIntegration.dll" "%dest%"
copy /Y /B "Microsoft.AnalysisServices.Controls.dll" "%dest%"
copy /Y /B "Microsoft.AnalysisServices.Design.dll" "%dest%"
copy /Y /B "Microsoft.DataWarehouse.Interfaces.dll" "%dest%"


cd "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSIS"
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
19 changes: 19 additions & 0 deletions DLLs/SQL2022/copy-ssdt-dlls.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
set dest=C:\projects\BIDS Helper\GitHub\bideveloperextensions2\DLLs\SQL2022\Reference

c:

cd "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSIS\160\Binn"
copy /Y /B "Microsoft.DataTransformationServices.Controls.dll" "%dest%"
copy /Y /B "Microsoft.SQLServer.DTSPipelineWrap.dll" "%dest%"
copy /Y /B "Microsoft.SqlServer.DTSRuntimeWrap.dll" "%dest%"
copy /Y /B "Microsoft.SqlServer.ExecPackageTaskWrap.dll" "%dest%"
copy /Y /B "Microsoft.SqlServer.ManagedDTS.dll" "%dest%"

cd "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSIS\160\BIShared"
copy /Y /B "Microsoft.DataWarehouse.dll" "%dest%"
copy /Y /B "Microsoft.AnalysisServices.Project.dll" "%dest%"
copy /Y /B "Microsoft.DataWarehouse.VsIntegration.dll" "%dest%"
copy /Y /B "Microsoft.AnalysisServices.Controls.dll" "%dest%"
copy /Y /B "Microsoft.AnalysisServices.Design.dll" "%dest%"
copy /Y /B "Microsoft.DataWarehouse.Interfaces.dll" "%dest%"

2 changes: 1 addition & 1 deletion Manifest/SQL2019/VSPackageVS2019.resx
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@
<value>BI Developer Extensions for Visual Studio 2019</value>
</data>
<data name="112" xml:space="preserve">
<value>BI Developer Extensions v2.4.0 for Visual Studio 2019 - An add-in to extend SQL Server Data Tools</value>
<value>BI Developer Extensions v2.4.1 for Visual Studio 2019 - An add-in to extend SQL Server Data Tools</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="400" type="System.Resources.ResXFileRef, System.Windows.Forms">
Expand Down
2 changes: 1 addition & 1 deletion Manifest/SQL2019/source.extension.vsixmanifest
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
<Metadata>
<Identity Id="BIDSHelper_VSIX.b6deed2d-6c6f-46d4-94be-28027bf7d874" Version="2.4.0" Language="en-US" Publisher="bideveloperextensions.github.io" />
<Identity Id="BIDSHelper_VSIX.b6deed2d-6c6f-46d4-94be-28027bf7d874" Version="2.4.1" Language="en-US" Publisher="bideveloperextensions.github.io" />
<DisplayName>BI Developer Extensions for Visual Studio 2019</DisplayName>
<Description xml:space="preserve">BI Developer Extensions (formerly BIDS Helper) is an extension for BIDS / SSDT that includes numerous enhancements for SQL Server BI projects</Description>
<MoreInfo>https://bideveloperextensions.github.io</MoreInfo>
Expand Down
118 changes: 46 additions & 72 deletions SQL2019_VS2019_BidsHelper.csproj

Large diffs are not rendered by default.

33 changes: 23 additions & 10 deletions SSAS/AggManager/frmDeleteUnusedAggs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -111,22 +111,29 @@ private void radioTraceTypeLive_CheckedChanged(object sender, EventArgs e)

private void btnExecute_Click(object sender, EventArgs e)
{
if (bExecuting)
if (btnExecute.InvokeRequired)
{
bStopped = true;
timer1_Tick(null, null);
btnExecute.BeginInvoke(new System.Windows.Forms.MethodInvoker(delegate () { btnExecute_Click(sender, e); }));
}
else
{
if (radioTraceTypeSQL.Checked)
if (bExecuting)
{
if (string.IsNullOrEmpty(ConnectionString) || string.IsNullOrEmpty(Table))
btnSQLConnection_Click(null, null);
if (string.IsNullOrEmpty(ConnectionString) || string.IsNullOrEmpty(Table))
return; //if they still haven't entered it, then just cancel out of the execute
bStopped = true;
timer1_Tick(null, null);
}
else
{
if (radioTraceTypeSQL.Checked)
{
if (string.IsNullOrEmpty(ConnectionString) || string.IsNullOrEmpty(Table))
btnSQLConnection_Click(null, null);
if (string.IsNullOrEmpty(ConnectionString) || string.IsNullOrEmpty(Table))
return; //if they still haven't entered it, then just cancel out of the execute
}
bStopped = false;
Execute();
}
bStopped = false;
Execute();
}
}

Expand Down Expand Up @@ -323,6 +330,12 @@ public MyTraceEventArgs(SqlDataReader reader)

private void FinishExecute(bool bShowResults)
{
if (btnExecute.InvokeRequired)
{
btnExecute.BeginInvoke(new System.Windows.Forms.MethodInvoker(delegate () { FinishExecute(bShowResults); }));
return;
}

try
{
if (trc != null)
Expand Down
4 changes: 2 additions & 2 deletions SSAS/AggManager/frmMain.cs
Original file line number Diff line number Diff line change
Expand Up @@ -333,8 +333,8 @@ private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs
else if ((string)e.Node.Parent.Tag == "Aggregation Designs")
contextMenuStripAggDes.Show(treeView1, pt);

if (((string)e.Node.Parent.Parent.Tag == "Aggregation Designs") &&
((string)e.Node.Parent.Tag != TagNoAggdesign))
if (((e.Node.Parent?.Parent?.Tag as string) == "Aggregation Designs") &&
((e.Node.Parent?.Tag as string) != TagNoAggdesign))
contextMenuStripPartitionAggs.Show(treeView1, pt);

}
Expand Down
61 changes: 50 additions & 11 deletions SSAS/CalcHelpersPlugin.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#if SQL2019
extern alias asAlias;
extern alias sharedDataWarehouseInterfaces;
//extern alias sharedDataWarehouseInterfaces;
extern alias asDataWarehouseInterfaces;
using asAlias::Microsoft.DataWarehouse.Design;
using asAlias::Microsoft.DataWarehouse.Controls;
using sharedDataWarehouseInterfaces::Microsoft.DataWarehouse.Design;
//using sharedDataWarehouseInterfaces::Microsoft.DataWarehouse.Design;
using asAlias::Microsoft.AnalysisServices.Design;
using asAlias::Microsoft.DataWarehouse.ComponentModel;
#else
Expand Down Expand Up @@ -34,9 +34,10 @@ public class CalcHelpersPlugin : BIDSHelperWindowActivatedPluginBase
private const System.Reflection.BindingFlags getflags = System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.GetProperty | System.Reflection.BindingFlags.DeclaredOnly | System.Reflection.BindingFlags.Instance;
private System.Collections.Generic.Dictionary<string,EditorWindow> windowHandlesFixedForCalcProperties = new System.Collections.Generic.Dictionary<string,EditorWindow>();
private System.Collections.Generic.Dictionary<string,EditorWindow> windowHandlesFixedDefaultCalcScriptView = new System.Collections.Generic.Dictionary<string,EditorWindow>();

private ToolBarButton newCalcPropButton = null;
private ToolBarButton newDeployMdxScriptButton = null;
private object userPromptService = null;

private const string REGISTRY_EXTENDED_PATH = "CalcHelpersPlugin";
private const string REGISTRY_SCRIPT_VIEW_SETTING_NAME = "CalcScriptDefaultView";
Expand Down Expand Up @@ -117,6 +118,14 @@ public override void OnWindowActivated(Window GotFocus, Window LostFocus)
ProjectItem pi = GotFocus.ProjectItem;
if ((pi==null) || (!(pi.Object is Cube))) return;
EditorWindow win = (EditorWindow)designer.GetService(typeof(IComponentNavigator));

try
{
BaseDesigner winDesigner = win.GetType().InvokeMember("designer", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.GetField, null, win, new object[] { }) as BaseDesigner;
this.userPromptService = winDesigner.GetType().InvokeMember("UserPromptService", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.GetProperty, null, winDesigner, new object[] { });
}
catch { }

VsStyleToolBar toolbar = (VsStyleToolBar)win.SelectedView.GetType().InvokeMember("ToolBar", getflags, null, win.SelectedView, null);

IntPtr ptr = win.Handle;
Expand Down Expand Up @@ -311,27 +320,56 @@ void OpenCalcPropertiesDialog()
{
try
{
IUserPromptService oService = (IUserPromptService)provider.GetService(typeof(IUserPromptService));

foreach (Type t in System.Reflection.Assembly.GetAssembly(typeof(Scripts)).GetTypes())
{
if (t.FullName == "Microsoft.AnalysisServices.Design.Calculations.CalcPropertiesEditorForm")
{
form1 = (Form)t.GetConstructor(new Type[] { typeof(IUserPromptService) }).Invoke(new object[] { oService });
break;
//form1 = (Form)t.GetConstructor(new Type[] { typeof(IUserPromptService) }).Invoke(new object[] { oService });
var constructor = t.GetConstructors()[0];
try
{
var paramType = constructor.GetParameters()[0].ParameterType;
var oService = provider.GetService(paramType);
form1 = (Form)constructor.Invoke(new object[] { oService });
break;
}
catch
{
form1 = (Form)constructor.Invoke(new object[] { userPromptService });
break;
}
}
}
}
catch (Exception ex)
{
asDataWarehouseInterfaces::Microsoft.DataWarehouse.Design.IUserPromptService oService = (asDataWarehouseInterfaces::Microsoft.DataWarehouse.Design.IUserPromptService)provider.GetService(typeof(asDataWarehouseInterfaces::Microsoft.DataWarehouse.Design.IUserPromptService));
try
{
//asDataWarehouseInterfaces::Microsoft.DataWarehouse.Design.IUserPromptService
var oService = provider.GetService(typeof(asDataWarehouseInterfaces::Microsoft.DataWarehouse.Design.IUserPromptService));
//var oService = provider.GetService(typeof(asDataWarehouseInterfaces::Microsoft.DataWarehouse.Design.IUserPromptService));

foreach (Type t in System.Reflection.Assembly.GetAssembly(typeof(Scripts)).GetTypes())
foreach (Type t in System.Reflection.Assembly.GetAssembly(typeof(Scripts)).GetTypes())
{
if (t.FullName == "Microsoft.AnalysisServices.Design.Calculations.CalcPropertiesEditorForm")
{
form1 = (Form)t.GetConstructor(new Type[] { oService.GetType() }).Invoke(new object[] { oService });
break;
}
}

}
catch (Exception ex2)
{
if (t.FullName == "Microsoft.AnalysisServices.Design.Calculations.CalcPropertiesEditorForm")
if (MessageBox.Show("Error displaying BI Developer Extensions Calculation Properties dialog. Do you want to disable this feature?\r\n\r\n" + ex2.Message + "\r\n" + ex2.StackTrace, "BI Developer Extensions Error", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
form1 = (Form)t.GetConstructor(new Type[] { typeof(asDataWarehouseInterfaces::Microsoft.DataWarehouse.Design.IUserPromptService) }).Invoke(new object[] { oService });
break;
OnDisable();
return;
}
else
{
return;
}
}
}
Expand Down Expand Up @@ -416,6 +454,7 @@ void OpenCalcPropertiesDialog()
}
}


void descButton_Click(object sender, EventArgs e)
{
try
Expand Down
4 changes: 2 additions & 2 deletions SSAS/DeploymentSettings.cs
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
extern alias sharedDataWarehouseInterfaces;
//extern alias sharedDataWarehouseInterfaces;
extern alias asDataWarehouseInterfaces;
using System;
using System.Xml;
//using Extensibility;
using EnvDTE;
using EnvDTE80;
using System.IO;
using sharedDataWarehouseInterfaces::Microsoft.DataWarehouse.Interfaces;
//using sharedDataWarehouseInterfaces::Microsoft.DataWarehouse.Interfaces;

// =========================================================================================
// Class : DeploymentSettings.cs
Expand Down
10 changes: 7 additions & 3 deletions SSIS/VariablesWindowPlugin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@ public partial class VariablesWindowPlugin : BIDSHelperWindowActivatedPluginBase
/// TODO: Make thks a base class, and inherit for variables and parameters window controls
/// </summary>
/// See vNextDebugCode comment below on how to get this GUID
#if SQL2017 //also good for SQL2019 in VS2017
#if SQL2022
internal const string SSIS_VARIABLES_TOOL_WINDOW_KIND = "{F4E46F1E-CF83-40AA-B568-A627394BC994}";
#elif SQL2017 //also good for SQL2019 in VS2017
internal const string SSIS_VARIABLES_TOOL_WINDOW_KIND = "{DDC39177-57E8-413D-9382-9E92CE5DA83B}";
#elif SQL2016
internal const string SSIS_VARIABLES_TOOL_WINDOW_KIND = "{9F0B409F-14B8-4D44-AFD0-1099A3FB8BA3}";
Expand Down Expand Up @@ -221,8 +223,10 @@ private void grid_MouseButtonClicked(object sender, MouseButtonClickedEventArgs
{
try
{
// Fragile, as relies on hardcoded index. We are trying to replicate Microsoft.DataTransformationServices.Design.VariablesToolWindow.dlgGridControl1_MouseButtonClicked method check
if (args.Button == MouseButtons.Left && args.ColumnIndex == 6)
// We are trying to replicate Microsoft.DataTransformationServices.Design.VariablesToolWindow.dlgGridControl1_MouseButtonClicked method check
var gridColumns = variablesToolWindowControl.GetType().InvokeMember("gridColumns", BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.GetProperty | BindingFlags.FlattenHierarchy | BindingFlags.Instance, null, variablesToolWindowControl, new object[] { });
int index = (int)gridColumns.GetType().GetMethod("GetGridIndex", BindingFlags.Public | BindingFlags.Instance | BindingFlags.FlattenHierarchy).Invoke(gridColumns, new object[] { 8 }); //(Microsoft.DataTransformationServices.Design.ColumnIndices)8
if (args.Button == MouseButtons.Left && args.ColumnIndex == index)
{
// Dumbass, the args.RowIndex is a long, but all the grid methods that accept a row index are int!
EditExpressionButtonClick((int)args.RowIndex, args.ColumnIndex);
Expand Down
2 changes: 1 addition & 1 deletion core/Constants.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public static class BIDSProjectKinds
public static string SSAS = "{d2abab84-bf74-430a-b69e-9dc6d40dda17}";

// DENALI || SQL2014 || SQL2016 - Alternative conditional value assumed to be 2008 and below, so now removed, "{d183a3d8-5fd8-494b-b014-37f57b35e655}"
public static string SSIS = "{159641d6-6404-4a2a-ae62-294de0fe8301}";
public static string SSIS = "{c9674dcb-5085-4a16-b785-4c70dd1589bd}"; //former SQL2019 value removed "{159641d6-6404-4a2a-ae62-294de0fe8301}";

public static string SSRS = "{f14b399a-7131-4c87-9e4b-1186c45ef12d}";
}
Expand Down

0 comments on commit c189913

Please sign in to comment.