ネイティブ DLL を含むネイティブ パッケージを作成しました。パッケージはSqlServerCompact.4.0.8852.1.nupkgのようなものです。
「Manage Nuget Packages ...」で GUI からパッケージをインストールすると、問題なくネイティブ DLL が Debug/Release フォルダーにコピーされます。ネイティブ DLL のコピーは、SqlSerCompact と同様のスクリプトによって行われます。
そして.bat
、のパッケージ化手順を自動化する次のファイルがありMyProject
ます。
..\..\tools\nuget\bin\NuGet.exe install MyProject\packages.config -o packages\
..\..\tools\nuget\bin\NuGet.exe install MyProjectTest\packages.config -o packages\
..\..\tools\nuget\bin\nuget update MyProject.sln
msbuild /m /p:Configuration=Release /p:Platform="x64" MyProject.sln
..\..\tools\nuget\bin\nuget pack MyProject.nuspec
上記のスクリプトは完全に実行されて取得されますMyProject.nupkg
(コンパイルには .Net dll のみが必要です)。ただしnuget install
、依存パッケージのコピー スクリプトは実行されません。したがって、コンパイルMyProjectTest
は問題ありませんが、EXE を実行すると、Debug/Release フォルダにネイティブ DLL がありません。
私の質問は、コマンド ラインからパッケージをインストールするときに、powershell スクリプトが実行されないのはなぜですか? そして、それに対処する方法は?ありがとう!