2017-07-11 65 views
0

我有VSIX擴展(https://github.com/eduelias/AssociateRecentWorkItems),在我的VS2015上運行得非常好,但是,當我在VS2017上構建/運行它時(是的,我已經把先決條件在.csproj屬性中),它不會出現在2017年的TFS掛起更改選項卡上。我的VSIX擴展沒有在VS2017上顯示(在2015年)

我試過更新MIcrosoft.TeamfoundationServer.Controls到2017版本,但仍然沒有成功。

當我嘗試調試它時,似乎VS2017根本沒有加載擴展。 (斷點尚未加載)

任何幫助都是值得歡迎的。謝謝!

+0

您正在使用哪個版本的VS,以及您得到的詳細錯誤是什麼? –

+0

VS2017(15.2/26430.15),我完全沒有錯誤。 我創建並正在VS2015上正常工作的TFS面板的Pending Changes選項卡上的自定義會話根本不顯示在VS2017上。 我在VS2017上構建它,更新了項目屬性的先決條件,並將VS2017 [14.0,15.0)作爲vsix的安裝目標。 –

+1

在VSIX項目的調試設置中,將啓動參數更改爲'rootuffix Exp/log'。然後在'C:\ Users \%username%\ AppData \ Roaming \ Microsoft \ VisualStudio \ 15.0_XXXX \ ActivityLog.xml'中檢查日誌。另一個解決方法是做一個現有的VS2015項目的複製粘貼,然後重命名。csproj和其他文件到2017年,而不是2015年。然後在VS 2017中打開該項目,應該有升級遷移,然後更新vsixmanifest文件以支持VS 2017.嘗試重新構建並調試。 –

回答

0

通過日誌尋找參考更多詳細信息,我能找到我的一些引用被要求Microsoft.TeamFoundation.Client版本14.0.0 =,實際上,它是在尋找它的Microsoft.TeamFoundation.VersionControl版本= 12.0。

爲了解決這個問題,我做了一個「綁定重定向」是這樣的:

[assembly: ProvideBindingRedirection(AssemblyName = "Microsoft.TeamFoundation.Client", NewVersion = "15.0.0.0", OldVersionLowerBound = "12.0.0.0", OldVersionUpperBound = "14.0.0.0")]

它開始出現在精通實例,我能夠調試。

請注意,我強烈建議不要做這樣的解決方法,但在我的情況下,這是我可以使其加載我的擴展的唯一方法,以便我可以調試它。

1

試試VS2017上的另一個新擴展(來自市場)在你身邊。如果這也可能無法成功安裝,並且您正在使用VS2017 RC。

您可能會遇到這樣的issue-- Unable to install extensions after updating VS2017 RC

要麼更新爲最新版本VS或以上鍊接使用斯特凡ž金瑞利的解決方法。

如果不能安裝,只有你的舊拓,因爲

巨大的變化都已經由微軟的安裝,所以 以往的檢測方法VS將不再工作。例如, 檢測VS安裝文件夾,現在一些額外的工具或腳本是需要 ,https://github.com/Microsoft/vswhere

所以引導諸如How to: Migrate Extensibility Projects to Visual Studio 2017 是至關重要的,你可以按照提示。

你也可以在這個類似的問題Visual Studio 2017 is not detected by extensions for installation

相關問題