在解决方案资源管理“DependentUpon”工程项目的其他项目(例如,web.config中/ web.Debug.config)的儿童通常被禁用。 我的问题是,当项目通过的NuGet / PowerShell中的包动态添加安装,解决方案资源管理器不会重新加载项目,因此项目不显示的依赖。 手动关闭并重新打开解决方案或卸载/重新加载项目解决问题。 我想项目刷新自动为install.ps1 PowerShell脚本的一部分,但我这样做的时候,我得到“项目未加载”错误和的NuGet回滚安装。 我想这是因为我知道如何得到刷新上下文菜单中的唯一方法是先卸载项目。
我正在寻找的是被这个调用后面调用的对象。 我想,如果我能直接执行,我就不用先卸载该项目。
$dte.ExecuteCommand("Project.ReloadProject")
这里是完整的代码卸载/重装Solution Explorer中的项目
# Reload a project thru dte/SolutionExplorer Window
# using Unload and Reload Context Menus.
$project = Get-Project
$shortpath = $dte.Solution.Properties.Item("Name").Value + "\" + $project.Name
#following GUID = Constants.vsWindowKindSolutionExplorer
#magic 1 = vsUISelectionType.vsUISelectionTypeSelect
$dte.Windows.Item("{3AE79031-E1BC-11D0-8F78-00A0C9110057}").Activate()
$dte.ActiveWindow.Object.GetItem($shortpath).Select(1)
$dte.ExecuteCommand("Project.UnloadProject")
$dte.ExecuteCommand("Project.ReloadProject")