Nag*_* Hs 5 asp.net asp.net-core
我已经使用Microsoft.SqlServer.Dts.Runtime在ASP.NET MVC中运行包。但是我需要在asp.net核心中运行它。由于我们无法在asp.net核心中添加单个dll,我想知道是否有人知道是否有nuget软件包会有所帮助。
只是为了详细说明我如何解决此问题。下面是答案
要运行SSIS包,您需要在代码中的DLL下面
Microsoft.SqlServer.ManagedDTS.dll
Microsoft.SqlServer.PipelineHost.dll
Microsoft.SqlServer.DTSRuntimeWrap.dll
Microsoft.SqlServer.DTSPipelineWrap.dll
在MVC项目中添加DLL很容易,但是在asp.net核心中,它必须采用Nuget包的形式。
因此,可以使用nuget包资源管理器轻松创建nuget包。以下是链接
https://docs.nuget.org/create/using-a-gui-to-build-packages
在nuget包浏览器中,添加一个lib文件夹,在其中添加一个.net文件夹dnxcore50并添加上述DLL。单击工具分析包并保存nuget
在Visual Studio 2015解决方案中,您可以引用本地包。工具-Nuget软件包管理器-软件包管理器设置-软件包源添加本地软件包路径。
之后,您将可以使用nuget软件包管理器添加nuget软件包并选择本地软件包作为源
如果还原软件包时出错,则将dnxcore添加到imports部分,并将“ Microsoft.NETCore.Portable.Compatibility”:“ 1.0.1-rc2-24027”添加到project.json中的依赖项
"dependencies": {
"Microsoft.AspNet.Hosting": "1.0.0-rc1-final",
"Microsoft.NETCore.Portable.Compatibility": "1.0.1-rc2-24027",
"SSISPackage": "1.0.0"
}
"frameworks": {
"netcoreapp1.0": {
"imports": [
"dotnet5.6",
"portable-net45+win8",
"dnxcore"
]
}
}
Run Code Online (Sandbox Code Playgroud)
之后,您将可以使用代码来运行类似于MVC项目的SSIS包。
Application app = new Application();
Package package = null;
try
{
package = app.LoadPackage(@"C:\Files\Package.dtsx", null);
Variables vars = package.Variables;
vars["status"].Value = "ACTIVE";
DTSExecResult results = package.Execute();
}
catch
{
return false;
}
finally
{
package.Dispose();
package = null;
}
Run Code Online (Sandbox Code Playgroud)
您可以将程序集打包到 nuget 包中,在解决方案中创建一个 Lib 文件夹来保存 nuget 包,然后创建一个 nuget.config 文件来设置包源以在解决方案中包含 Lib 文件夹。
以下链接包含有关创建 nuget 包并在本地托管它的更多详细信息:
希望有帮助
| 归档时间: |
|
| 查看次数: |
3370 次 |
| 最近记录: |