2014-11-12 2 views
0

Im не очень хорошо осведомлен о powershell, так голый со мной. У меня есть пакет, который при установке устанавливает проект для использования Nunit gui. Он устанавливает класс Test Runner (который должен считаться начальным объектом) и все необходимые ссылки.Как изменить тип проекта и объект запуска с помощью nuget

Единственная часть, которую я смог исправить, - это то, что я хотел бы, чтобы nuget переключил тип проекта на консоль после установки и установил класс TestRunner для объекта запуска.

Ive услышать некоторые вещи о том, как использовать powershell для этого, но это кажется довольно сложным. Особенно, когда это означает ручное редактирование файла csproj.

Любая идея о том, как я могу это сделать?

ответ

2

Вы не редактируете файл csproj вручную. В верхней части install.ps1 скрипта добавьте следующую строку:

param($installPath, $toolsPath, $package, $project) 

NuGet будет заполнять переменную $project с визуальным объектом Студия EnvDTE.Project из проекта NuGet добавляется к. Затем вы управляете экземпляром Project, чтобы изменить настройки.

Например, вот как изменить тип проекта в "Console Application":

$project.Properties.Item("OutputType").Value = 0 

(0 = Приложение Windows, 1 = консольного приложения, 2 = Class Library),

Вы можете установить StartupObject:

$project.Properties.Item("StartupObject").Value = "ConsoleApplication1.Program" 

Вам нужно будет ознакомиться с документацией по любой дополнительной специфике. К сожалению, документация действительно редкая:

http://msdn.microsoft.com/en-us/library/EnvDTE.Project(v=vs.110).aspx

Вы можете играть с настройками в Package Manager Console. Начните с выбора проекта, с которым вы хотите работать, из раскрывающегося списка «Проект по умолчанию». Затем в консоли запустите:

$project = Get-Project 

Оттуда вы можете осмотреть и обработать объект проекта.

Смежные вопросы