Dove sono installate le estensioni personalizzate in Visual Studio? So che potresti ottenere il percorso anche se ExtensionManager.GetInstalledExtensions()
, tuttavia sembra che nessuno dei percorsi trovati corrisponda alla mia estensione.dove sono installate estensioni personalizzate in Visual Studio?
17
A
risposta
29
Le estensioni (se distribuite come VSIX) verranno installate nel profilo dell'utente; ogni estensione sarà installato in una cartella con un nome casuale, per esempio:
%LocalAppData%\Microsoft\VisualStudio\12.0\Extensions\s5lxc0ne.1kp
Se si desidera ottenere il percorso di installazione del pacchetto in fase di esecuzione, è possibile ottenere le informazioni dal gruppo che definisce la classe Package
.
static string GetAssemblyLocalPathFrom(Type type)
{
string codebase = type.Assembly.CodeBase;
var uri = new Uri(codebase, UriKind.Absolute);
return uri.LocalPath;
}
...
string installationPath = GetAssemblyLocalPathFrom(typeof(MyPackage));
Nel caso in cui non riesci a trovare la propria estensione nella cartella descritto sopra (come me), ci sono anche "le estensioni amministrative", che si possono trovare qui: \ Common7 \ IDE \ Extensions \ –