我有一个包,在安装时,设置一个项目来使用Nunit gui。它安装了Test Runner类(应该被认为是启动对象)和所需的所有引用。
我可以从这里解决的唯一部分是,我希望nuget在安装后将项目类型切换到控制台,并将TestRunner类设置为启动对象。
我听说过有关如何使用powershell执行此操作的一些事情,但它似乎相当复杂。特别是当它意味着手动编辑csproj文件时。
关于如何实现这一目标的任何想法?
答案 0 :(得分:2)
您不手动编辑csproj文件。在install.ps1
脚本的顶部添加以下行:
param($installPath, $toolsPath, $package, $project)
Nuget将使用nuget添加到的项目的Visual Studio EnvDTE.Project对象填充$project
变量。然后,您可以操作Project实例来更改设置。
例如,以下是如何将项目类型更改为“控制台应用程序”:
$project.Properties.Item("OutputType").Value = 0
(0 = Windows Application,1 = Console Application,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
然后,您可以从那里检查和操作项目对象。