Nuget Powershell: как добавить собственные зависимости? как добавить файлы в проект внутри папки?

Я создаю пакет Nuget с нативными зависимостями.Я без проблем поместил их внутрь пакета, указав дополнительные записи fileв файле .nuspec.

Однако я также хочу скопировать их в выходную папку проекта, который будет использовать мой пакет, чтобы можно было найти зависимости во время выполнения.

Моя идея состоит в том, чтобы добавить собственные зависимости в проект и установить для них BuildActionзначение CopyToOutputDirectory. Я также справился с этим с помощью приведенного ниже сценария 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 и вывести их в папку bin проекта с помощью моего Nu-пакета?

7
задан user247702 28 August 2015 в 15:12
поделиться