2016-08-19 9 views
3

.NET Coreプロジェクト用にphantomJS nugetパッケージをインストールします。このナゲットパッケージには、.exeファイル(phantomjs.exe)が含まれています。 (C:¥Users¥.nuget¥packages¥PhantomJS¥2.1.1¥tools¥phantomjs)PhantomJS nugetパッケージで.NETコアプロジェクト内に.exeファイルがインストールされない

ビルドまたはパブリッシングソリューションは、binまたはpublishフォルダ内の.exeファイルをコピーしません。

project.jsonに特定の構成を追加して、パブリッシュまたはビルド時に自動的に.exeをコピーする必要がありますか?

+0

あなたは、ファイルをコピーしたりpublishOptionsに含めるpostcompile/postpublishスクリプトを使用することができますセクションを含みます。 – Pawel

答えて

6

現在PhantomJS nugetパッケージ(v.2.1.1)は、従来のWindows専用の.NETプロジェクトをターゲットにしています。 phantomjs.exeは 'tools'フォルダに含まれ、install nugetではCopyToOutputDirectory = trueオプションを指定して 'phantomjs.exe'をプロジェクトに追加するスクリプト(install.ps1)を実行します。残念ながら、インストールスクリプトはnetcoreプロジェクトではサポートされていません。 PhantomJSのnugetパッケージにはマネージアセンブリは含まれていないため、netcoreプロジェクト用にインストールできますが、 'tools'フォルダは無視されます。

phantomjs.exeを明示的にコピーするためにproject.json( "postcompile"/"postpublish")で "script"セクションを使用することは可能ですが、パスを解決する方法はありません。 PhantomJS nugetパッケージのビルド手順中。いずれにしても、PhantomJSのnugetパッケージにはPhantomJSのビルドウィンドウしか含まれていないため、LinuxまたはOS-Xで.NETコアプロジェクトを実行する予定がある場合は役に立ちません。

netcoreプロジェクトにはPhantomJS Nugetを使用しないでください。ターゲットランタイムプラットフォーム用の適切なファントムjビルドをダウンロードして抽出するカスタムビルドスクリプト(「コンパイル済み」で実行)を作成することをお勧めします。

関連する問題