Powershell DTE创建定位平台项目

时间:2018-11-12 14:48:16

标签: powershell visual-studio-2017 envdte

PM> $dte.Solution.Create("C:\Projects\test\", "test.sln")
PM> $t = $dte.Solution.GetProjectTemplate("ConsoleApplication.zip", "CSharp" )
PM> $dte.Solution.AddFromTemplate($t, "C:\Projects\test\proj\", "New CSharp Console Project", $false)

我正在使用VS2017。这将创建一个解决方案和一个项目。该项目的目标是.NET Core。如何更改此行:

PM> $t = $dte.Solution.GetProjectTemplate("ConsoleApplication.zip", "CSharp" )

以便能够定位以前的.NET版本-4.6 / 4.7

是否有命令查看可用的项目模板?

1 个答案:

答案 0 :(得分:0)

The VS2017 SDK documentation建议您应该将FrameworkVersion参数作为模板名称的一部分传递:

  

如果模板的RequiredFrameworkVersion元素高于4.0,   您应该在通话中提供版本,以便搜索   模板将找到一个匹配项。例如,而不是调用   GetProjectTemplate("Extensibility\1033\VSIXProject.zip", "CSharp");   呼叫   GetProjectTemplate("Extensibility\1033\VSIXProject.zip|FrameworkVersion=4.5", "CSharp");

所以我希望它可以在您需要的时候起作用:

$dte.Solution.GetProjectTemplate("ConsoleApplication.zip|FrameworkVersion=4.6", "CSharp")