first commit

This commit is contained in:
RDeck 2025-07-11 07:34:15 -04:00
commit 9fff625b64
38 changed files with 1037 additions and 0 deletions

Binary file not shown.

View File

@ -0,0 +1,100 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\Repos\\SqlCustomFunctions\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{1CE29CD9-8ED4-497C-A794-85FA3BA3B87F}|SqlCustomFunctions.sqlproj|C:\\Repos\\SqlCustomFunctions\\IPFunctions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{1CE29CD9-8ED4-497C-A794-85FA3BA3B87F}|SqlCustomFunctions.sqlproj|solutionrelative:IPFunctions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{00000000-0000-0000-0000-000000000000}|\u003CSolution\u003E|SqlCustomFunctions||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|"
},
{
"AbsoluteMoniker": "D:0:0:{1CE29CD9-8ED4-497C-A794-85FA3BA3B87F}|SqlCustomFunctions.sqlproj|C:\\Repos\\SqlCustomFunctions\\SqlCustomFunctions.sqlproj||{B270807C-D8C6-49EB-8EBE-8E8D566637A1}|008b9af8-091d-4ba5-95e1-5f3479df8fcc",
"RelativeMoniker": "D:0:0:{1CE29CD9-8ED4-497C-A794-85FA3BA3B87F}|SqlCustomFunctions.sqlproj|solutionrelative:SqlCustomFunctions.sqlproj||{B270807C-D8C6-49EB-8EBE-8E8D566637A1}|008b9af8-091d-4ba5-95e1-5f3479df8fcc"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 12,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
},
{
"$type": "Bookmark",
"Name": "ST:129:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:130:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:131:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:132:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:133:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:134:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
},
{
"$type": "Bookmark",
"Name": "ST:135:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:136:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}"
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "SqlCustomFunctions",
"DocumentMoniker": "C:\\Repos\\SqlCustomFunctions\\SqlCustomFunctions.sqlproj",
"RelativeDocumentMoniker": "SqlCustomFunctions.sqlproj",
"ToolTip": "C:\\Repos\\SqlCustomFunctions\\SqlCustomFunctions.sqlproj",
"RelativeToolTip": "SqlCustomFunctions.sqlproj",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001001|",
"WhenOpened": "2025-07-11T10:34:59.027Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "IPFunctions.cs",
"DocumentMoniker": "C:\\Repos\\SqlCustomFunctions\\IPFunctions.cs",
"RelativeDocumentMoniker": "IPFunctions.cs",
"ToolTip": "C:\\Repos\\SqlCustomFunctions\\IPFunctions.cs",
"RelativeToolTip": "IPFunctions.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAhAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-10T13:15:33.845Z",
"EditorCaption": ""
}
]
}
]
}
]
}

View File

@ -0,0 +1,100 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\Repos\\SqlCustomFunctions\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{1CE29CD9-8ED4-497C-A794-85FA3BA3B87F}|SqlCustomFunctions.sqlproj|C:\\Repos\\SqlCustomFunctions\\IPFunctions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{1CE29CD9-8ED4-497C-A794-85FA3BA3B87F}|SqlCustomFunctions.sqlproj|solutionrelative:IPFunctions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{00000000-0000-0000-0000-000000000000}|\u003CSolution\u003E|SqlCustomFunctions||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|"
},
{
"AbsoluteMoniker": "D:0:0:{1CE29CD9-8ED4-497C-A794-85FA3BA3B87F}|SqlCustomFunctions.sqlproj|C:\\Repos\\SqlCustomFunctions\\SqlCustomFunctions.sqlproj||{B270807C-D8C6-49EB-8EBE-8E8D566637A1}|008b9af8-091d-4ba5-95e1-5f3479df8fcc",
"RelativeMoniker": "D:0:0:{1CE29CD9-8ED4-497C-A794-85FA3BA3B87F}|SqlCustomFunctions.sqlproj|solutionrelative:SqlCustomFunctions.sqlproj||{B270807C-D8C6-49EB-8EBE-8E8D566637A1}|008b9af8-091d-4ba5-95e1-5f3479df8fcc"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 12,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
},
{
"$type": "Bookmark",
"Name": "ST:129:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:130:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:131:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:132:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:133:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:134:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
},
{
"$type": "Bookmark",
"Name": "ST:135:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:136:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}"
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "SqlCustomFunctions",
"DocumentMoniker": "C:\\Repos\\SqlCustomFunctions\\SqlCustomFunctions.sqlproj",
"RelativeDocumentMoniker": "SqlCustomFunctions.sqlproj",
"ToolTip": "C:\\Repos\\SqlCustomFunctions\\SqlCustomFunctions.sqlproj",
"RelativeToolTip": "SqlCustomFunctions.sqlproj",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001001|",
"WhenOpened": "2025-07-11T10:34:59.027Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "IPFunctions.cs",
"DocumentMoniker": "C:\\Repos\\SqlCustomFunctions\\IPFunctions.cs",
"RelativeDocumentMoniker": "IPFunctions.cs",
"ToolTip": "C:\\Repos\\SqlCustomFunctions\\IPFunctions.cs",
"RelativeToolTip": "IPFunctions.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAhAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-10T13:15:33.845Z",
"EditorCaption": ""
}
]
}
]
}
]
}

142
IPFunctions.cs Normal file
View File

@ -0,0 +1,142 @@
using System;
using System.Data;
using System.Data.SqlClient;
using Microsoft.SqlServer.Server;
using System.Net;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlTypes;
using System.Numerics;
namespace SqlCustomFunctions
{
public static class IPFunctions
{
[Microsoft.SqlServer.Server.SqlFunction()]
static public byte[] ipIPV6toBIN16(SqlString IP)
{
BigInteger rv = new BigInteger();
try
{
IPAddress ipAddress = null;//IPAddress.TryParse(IPV6Address, out _);
if (IPAddress.TryParse(IP.ToString(), out ipAddress) && ipAddress.AddressFamily == System.Net.Sockets.AddressFamily.InterNetworkV6)
{
byte[] addressBytes = ipAddress.GetAddressBytes();
// flip big-endian(network order) to little-endian
if (BitConverter.IsLittleEndian)
Array.Reverse(addressBytes);
rv = new BigInteger(addressBytes);
}
}
catch //(Exception ex)
{
rv = 0;
}
return rv.ToByteArray();
}
[Microsoft.SqlServer.Server.SqlFunction()]
static public SqlString ipBIN16toIPV6(byte[] IP)
{
SqlString rv = string.Empty;
try
{
byte[] paddedBytes = new byte[16];
if (IP.Length > 16)
{
// Truncate to 16 bytes (take the most significant bytes for IPv6)
Array.Copy(IP, IP.Length - 16, paddedBytes, 0, 16);
}
else if (IP.Length < 16)
{
// Pad with leading zeros (for smaller numbers)
Array.Copy(IP, 0, paddedBytes, 16 - IP.Length, IP.Length);
}
else
{
Array.Copy(IP, paddedBytes, 16);
}
// flip big-endian(network order) to little-endian
if (BitConverter.IsLittleEndian)
Array.Reverse(paddedBytes);
IPAddress ipAddress = new IPAddress(paddedBytes);
rv = ipAddress.ToString();
}
catch //(Exception ex)
{
rv = string.Empty;
}
return rv;
}
[Microsoft.SqlServer.Server.SqlFunction()]
static public byte[] ipIPV4toBIN4(SqlString IP)
{
var rv = new byte[] { 0, 0, 0, 0 };
try
{
IPAddress ipAddress = null;
if (IPAddress.TryParse(IP.ToString(), out ipAddress) && ipAddress.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
byte[] addressBytes = ipAddress.GetAddressBytes();
// flip big-endian(network order) to little-endian
// -- Can't do this, because it would break legacy code! --
//if (BitConverter.IsLittleEndian)
// Array.Reverse(addressBytes);
rv = addressBytes; //BitConverter.ToUInt32(addressBytes, 0);
}
}
catch //(Exception)
{
rv = new byte[] { 0, 0, 0, 0 };
}
return rv;
}
[Microsoft.SqlServer.Server.SqlFunction()]
static public SqlString ipBIN4toIPV4(byte[] IP)
{
SqlString rv = string.Empty;
try
{
byte[] paddedBytes = new byte[4];
if (IP.Length > 4)
{
// Truncate to 16 bytes (take the most significant bytes for IPv6)
Array.Copy(IP, IP.Length - 4, paddedBytes, 0, 4);
}
else if (IP.Length < 4)
{
// Pad with leading zeros (for smaller numbers)
Array.Copy(IP, 0, paddedBytes, 4 - IP.Length, IP.Length);
}
else
{
Array.Copy(IP, paddedBytes, 4);
}
// flip big-endian(network order) to little-endian
// -- Can't do this, because it would break legacy code! --
//if (BitConverter.IsLittleEndian)
// Array.Reverse(paddedBytes);
IPAddress ipAddress = new IPAddress(paddedBytes);
rv = ipAddress.ToString();
}
catch //(Exception ex)
{
rv = string.Empty;
}
return rv;
}
}
}

BIN
SqlCustomFunctions.dbmdl Normal file

Binary file not shown.

BIN
SqlCustomFunctions.jfm Normal file

Binary file not shown.

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<IncludeCompositeObjects>True</IncludeCompositeObjects>
<TargetDatabaseName>Common</TargetDatabaseName>
<DeployScriptFileName>SqlCustomFunctions.sql</DeployScriptFileName>
<TargetConnectionString>Data Source=BigMac;Integrated Security=True;Persist Security Info=False;Pooling=False;Multiple Active Result Sets=False;Connect Timeout=60;Encrypt=True;Trust Server Certificate=True;Command Timeout=0</TargetConnectionString>
<ProfileVersionNumber>1</ProfileVersionNumber>
</PropertyGroup>
</Project>

27
SqlCustomFunctions.sln Normal file
View File

@ -0,0 +1,27 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.14.36301.6 d17.14
MinimumVisualStudioVersion = 10.0.40219.1
Project("{00D1A9C2-B5F0-4AF3-8072-F6C62B433612}") = "SqlCustomFunctions", "SqlCustomFunctions.sqlproj", "{1CE29CD9-8ED4-497C-A794-85FA3BA3B87F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{1CE29CD9-8ED4-497C-A794-85FA3BA3B87F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1CE29CD9-8ED4-497C-A794-85FA3BA3B87F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1CE29CD9-8ED4-497C-A794-85FA3BA3B87F}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{1CE29CD9-8ED4-497C-A794-85FA3BA3B87F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1CE29CD9-8ED4-497C-A794-85FA3BA3B87F}.Release|Any CPU.Build.0 = Release|Any CPU
{1CE29CD9-8ED4-497C-A794-85FA3BA3B87F}.Release|Any CPU.Deploy.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {1E1A046C-3BD8-4B04-BFB6-F8B319D68FBC}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,77 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<Name>SqlCustomFunctions</Name>
<SchemaVersion>2.0</SchemaVersion>
<ProjectVersion>4.1</ProjectVersion>
<ProjectGuid>{1ce29cd9-8ed4-497c-a794-85fa3ba3b87f}</ProjectGuid>
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql160DatabaseSchemaProvider</DSP>
<OutputType>Database</OutputType>
<RootPath>
</RootPath>
<RootNamespace>SqlCustomFunctions</RootNamespace>
<AssemblyName>SqlCustomFunctions</AssemblyName>
<ModelCollation>1033, CI</ModelCollation>
<DefaultFileStructure>BySchemaAndSchemaType</DefaultFileStructure>
<DeployToDatabase>True</DeployToDatabase>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<TargetLanguage>CS</TargetLanguage>
<AppDesignerFolder>Properties</AppDesignerFolder>
<SqlServerVerification>False</SqlServerVerification>
<IncludeCompositeObjects>True</IncludeCompositeObjects>
<TargetDatabaseSet>True</TargetDatabaseSet>
<TargetFrameworkProfile />
<Recovery>SIMPLE</Recovery>
<PermissionSet>SAFE</PermissionSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>bin\Release\</OutputPath>
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<GenerateSerializationAssemblies>On</GenerateSerializationAssemblies>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath>bin\Debug\</OutputPath>
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">11.0</VisualStudioVersion>
<!-- Default to the v11.0 targets path if the targets file for the current VS version is not found -->
<SSDTExists Condition="Exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets')">True</SSDTExists>
<VisualStudioVersion Condition="'$(SSDTExists)' == ''">11.0</VisualStudioVersion>
</PropertyGroup>
<Import Condition="'$(SQLDBExtensionsRefPath)' != ''" Project="$(SQLDBExtensionsRefPath)\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
<Import Condition="'$(SQLDBExtensionsRefPath)' == ''" Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
<ItemGroup>
<Folder Include="Properties" />
</ItemGroup>
<ItemGroup>
<Compile Include="IPFunctions.cs" />
</ItemGroup>
<ItemGroup>
<Reference Include="System.Data" />
<Reference Include="System.Numerics" />
<Reference Include="System.Net" />
<Reference Include="System" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<None Include="SqlCustomFunctions.publish.xml" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<StartupScript>(Blank)</StartupScript>
<StartAction>StartNone</StartAction>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,17 @@
** Highlights
Tables that will be recreated with data migrated
None
Clustered indexes that will be dropped
None
Clustered indexes that will be created
None
Possible data issues
None
** User actions
Create
[SqlCustomFunctions] (Assembly)
[dbo].[IntToIP6] (Function)
[dbo].[IP6toInt] (Function)
** Supporting actions

View File

@ -0,0 +1,17 @@
** Highlights
Tables that will be recreated with data migrated
None
Clustered indexes that will be dropped
None
Clustered indexes that will be created
None
Possible data issues
None
** User actions
Create
[SqlCustomFunctions] (Assembly)
[dbo].[IntToIP6] (Function)
[dbo].[IP6toInt] (Function)
** Supporting actions

View File

@ -0,0 +1,21 @@
** Highlights
Tables that will be recreated with data migrated
None
Clustered indexes that will be dropped
None
Clustered indexes that will be created
None
Possible data issues
None
** User actions
Drop
[SqlCustomFunctions] (Assembly)
Create
[SqlCustomFunctions] (Assembly)
[dbo].[ipBIN16toIPV6] (Function)
[dbo].[ipBIN4toIPV4] (Function)
[dbo].[ipIPV4toBIN4] (Function)
[dbo].[ipIPV6toBIN16] (Function)
** Supporting actions

View File

@ -0,0 +1,15 @@
** Highlights
Tables that will be recreated with data migrated
None
Clustered indexes that will be dropped
None
Clustered indexes that will be created
None
Possible data issues
None
** User actions
Alter
[SqlCustomFunctions] (Assembly)
** Supporting actions

View File

@ -0,0 +1,15 @@
** Highlights
Tables that will be recreated with data migrated
None
Clustered indexes that will be dropped
None
Clustered indexes that will be created
None
Possible data issues
None
** User actions
Alter
[SqlCustomFunctions] (Assembly)
** Supporting actions

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
C:\Repos\SqlCustomFunctions\obj\Debug\SqlCustomFunctions.sqlproj.AssemblyReference.cache

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1 @@
d8d0182c3dbee7bd86960fb812bf538030753b6ec76b2ab714ddfb99ba744d8a

View File

@ -0,0 +1,7 @@
C:\Repos\SqlCustomFunctions\obj\Release\SqlCustomFunctions.sqlproj.AssemblyReference.cache
C:\Repos\SqlCustomFunctions\bin\Release\SqlCustomFunctions.dacpac
C:\Repos\SqlCustomFunctions\obj\Release\SqlCustomFunctions.sqlproj.CoreCompileInputs.cache
C:\Repos\SqlCustomFunctions\obj\Release\SqlCustomFunctions.dll
C:\Repos\SqlCustomFunctions\obj\Release\SqlCustomFunctions.pdb
C:\Repos\SqlCustomFunctions\bin\Release\SqlCustomFunctions.dll
C:\Repos\SqlCustomFunctions\bin\Release\SqlCustomFunctions.pdb