2016-08-05 10 views
1

Microsoft.SqlServer.Dts.Runtimeを使用してASP.NET MVCでパッケージを実行しました。しかし、私はasp.netコアでこれを実行する必要があります。 asp.netコアに個々のdllを追加できないので、助けになると思われるナゲットパッケージがあれば誰もが考えているのだろうかと思っていました。asp.netコアアプリケーションでssisパッケージを実行するには?

+2

これはもうでは問題ではありません –

答えて

2

アセンブリをナゲットパッケージにパッケージ化することができます。ソリューション内にLibフォルダを作成してナゲットパッケージを保持し、nuget.configファイルを作成してソリューション内にLibフォルダを含めるようにパッケージソースを設定します。

次のリンクはnugetパッケージを作成し、それをローカルにホスティングについての詳細が含まれています

希望だけ詳しく説明し

3

を助けること私がどのように解決したか彼の問題。以下はその答え

あなたがコード

  1. Microsoft.SqlServer.ManagedDTS.dll

  2. Microsoft.SqlServer.PipelineHost.dll

  3. でのDLLの下に必要なSSISパッケージを実行するには、 Microsoft.SqlServer.DTSRuntimeWrap.dll

  4. Microsoft.SqlServer.DTSPipelineWrap.dll

MVCプロジェクトにDLLを追加するのは簡単ですが、asp.netコアではNugetパッケージの形にする必要があります。

Nugetパッケージエクスプローラを使用すると、Nugetパッケージを簡単に作成できます。それは、.NETフォルダdnxcore50を追加し、上記のDLLを追加し、以下の内nugetパッケージエクスプローラで

https://docs.nuget.org/create/using-a-gui-to-build-packages

リンクは、libフォルダを追加しています。あなたは地元のパッケージを参照することができ、Visual Studioの2015ソリューションではnuget

enter image description here

をパッケージを分析するツールをクリックし、保存します。 ツール - Nugetパッケージマネージャ - パッケージマネージャ設定 - パッケージソース ローカルパッケージパスを追加します。

enter image description here

れた後、あなたがソースとしてローカルパッケージをパッケージマネージャをnuget使用してnugetパッケージを追加し、選択することができるようになります

enter image description here

エラーがパッケージの復元に存在する場合にdnxcoreを追加"Microsoft.NETCore.Portable.Compatibility": "1.0"を追加してください。あなたはMVCプロジェクトに似てSSISパッケージを実行するコードを使用することができます

"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" 
    ] 
    } 
} 

た後project.jsonで依存関係1-rc2-24027" 。

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; 
     } 
+0

これはASP.netコア1.1 Visual Studio 2017の問題ではありません。個々のdllを追加して直接使用することができます。 –

関連する問題