ネイティブの依存関係を持つNugetパッケージを作成しています。 .nuspec
ファイルに追加のfile
エントリを指定することで問題なくパッケージに入れます。Nuget Powershell:ネイティブ依存関係を追加するには?フォルダ内のプロジェクトにファイルを追加する方法は?
しかし、これらを私のパッケージを使用するプロジェクトの出力フォルダにコピーして、依存関係を実行時に見つけることもできます。
私の考えは、プロジェクトにネイティブの依存関係を追加し、BuildAction
をに設定することです。これは私も以下のPowerShellスクリプトで管理しています:
param($installPath, $toolsPath, $package, $project)
Function add_file($file)
{
$do_add = 1
foreach($item in $project.DTE.ActiveSolutionProjects[0].ProjectItems)
{
if ($item -eq $file)
{ $do_add = 0 }
}
if ($do_add -eq 1)
{
$added = $project.DTE.ItemOperations.AddExistingItem($file)
$added.Properties.Item("CopyToOutputDirectory").Value = 2
$added.Properties.Item("BuildAction").Value = 0
}
}
add_file(<dependency1>)
add_file(<dependency2>)
...
add_file(<dependencyN>)
これまでのところとても良いです。
しかし、私のプロジェクトはこれらの依存関係で完全に汚染されるようになりました。
PowerShellを使用してプロジェクトにファイルを追加してフォルダに入れる方法はありますか?
また、NuGetパッケージにネイティブ依存関係を追加し、それらをNuパッケージを使用してプロジェクトのbinフォルダに出力することもできます。
更新:これまで、アセンブリリンクリソースとしてネイティブの依存関係を設定する代わりに、上記のソリューションから離れました。これにより、ネイティブの依存関係が自動的にコピーされます。設定アセンブリリンクリソースは、Visual StudioのC#プロジェクトではネイティブにサポートされていませんが、C++/CLIプロジェクト用です(このコンテキストでのみ使用しています)。 –
私は同じ問題を抱えていますが、私は設定ファイルを追加する必要があります。この記事のタイトルは以下の解決策には関係ありませんtitel -.- '' –