在解決方案資源管理器中,「DependentUpon」項目通常作爲其他項的子項(例如web.config/web.Debug.config)禁用。 我遇到的問題是,在安裝包時通過nuget/powershell動態添加項目時,解決方案資源管理器不會重新加載項目,因此項目不會顯示爲依賴項。手動關閉並重新打開解決方案或卸載/重新加載項目可解決問題。 我想將Project Reload自動化爲install.ps1 powershell腳本的一部分,但是當我這樣做時,我得到'Project Unloaded'錯誤,並且nuget回滾安裝。我認爲這是因爲我知道如何獲得Reload上下文菜單的唯一方法是首先卸載項目。如何通過nuget powershell腳本重新加載Visual Studio項目
我正在尋找在此調用後面被調用的對象。我想如果我可以直接執行,我不必首先卸載該項目。
$dte.ExecuteCommand("Project.ReloadProject")
這裏是完整的代碼卸載/在解決方案重新加載項目資源管理器
# 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")
您是否曾經找到更好的解決方案?我遇到了同樣的問題,即在nuget安裝或更新後項目文件的更改沒有觸發項目重新加載,而我只需要開發人員重新加載自己!我很驚訝這不是由VS自動處理,尤其是nuget包通過VS項目對象更新項目。 – Phil
在這裏,我在8分鐘後張貼我的最終解決方案(facepalm!)我只是'接觸'該項目文件重新加載項目與Install.ps1中的以下內容: $(get-item $ project.FullName ).lastwritetime = get-date – Phil
Phil,自從我發佈這個問題後,我還沒有看過,但如果您有解決方案,請發表評論和答案。 –