visual studio - tutorial - vsixmanifest para todos: VS 2010, 2012 y 2013
visual studio code extensions (2)
Estoy usando VSIX Manifest Designer en VS2013. Agregué el identificador de producto Microsoft.VisualStudio.Pro y el rango de versión [10.0,13.0] para instalar objetivos. A pesar de ese hecho, todavía no veo mi VS2010 Professional como un objetivo de instalación disponible:
El contenido del archivo source.extension.vsixmanifest se muestra a continuación:
<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
<Metadata>
<Identity Id="ae98c9e5-8e14-4c92-b45a-c4fd24a49123" Version="1.0" Language="en-US" Publisher="whosoever" />
<DisplayName>MyExtension</DisplayName>
<Description xml:space="preserve">whosoever</Description>
<MoreInfo>http://www.myextension.com</MoreInfo>
<License>LICENSE.txt</License>
<Icon>icon.png</Icon>
<PreviewImage>screenshot.png</PreviewImage>
</Metadata>
<Installation InstalledByMsi="false">
<InstallationTarget Version="[10.0,13.0)" Id="Microsoft.VisualStudio.Pro" />
</Installation>
<Dependencies>
<Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" d:Source="Manual" Version="4.5" />
<Dependency Id="Microsoft.VisualStudio.MPF.11.0" DisplayName="Visual Studio MPF 11.0" d:Source="Installed" Version="11.0" />
</Dependencies>
<Assets>
<Asset Type="Microsoft.VisualStudio.VsPackage" d:Source="Project" d:ProjectName="%CurrentProject%" Path="|%CurrentProject%;PkgdefProjectOutputGroup|" />
</Assets>
</PackageManifest>
¿Qué debería cambiarse para permitir la instalación de esta extensión en VS2010, 2012 y 2013?
Está funcionando bastante bien ( Muchas gracias a Igal ), si el VSIX está desarrollado en VS 2012 e instalado en VS 2015. Sin embargo, lo contrario no funciona (significa desarrollado en VS 2015 e intentar instalarlo en VS 2012). analizaron Activitylog .xml, encontré un trabajo alrededor
No se pudo cargar el archivo o ensamblado ''Microsoft.VisualStudio.Shell.14.0, Version = 14.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a'' o una de sus dependencias.
Solución alternativa: eliminé VisualStudio.Shell.14.0 e instalé VisualStudio.Shell.11.0 usando la consola del administrador de paquetes ( Install-Package VSSDK.Shell.11 ) e instalé en VS 2012. Ahora estoy trabajando como esperaba
Lo que tiene es el manifiesto VSIX de la versión 2, que no es compatible con Visual Studio 2010. Las versiones posteriores de Visual Studio respetan la versión 1 del manifiesto, por lo que para admitir las 3 versiones de Visual Studio con un solo manifiesto, tendrá que conviértalo manualmente a v1.0 (y asegúrese de NO editarlo con VS2012 +, de lo contrario se convertirá nuevamente a v2.0).
Algo como esto:
<?xml version="1.0" encoding="utf-8"?>
<Vsix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010">
<Identifier Id="ae98c9e5-8e14-4c92-b45a-c4fd24a49123">
<Name>MyExtension</Name>
<Author>whosoever</Author>
<Version>1.0</Version>
<Description xml:space="preserve">Your decription.</Description>
<Locale>1033</Locale>
<SupportedProducts>
<VisualStudio Version="10.0">
<Edition>Pro</Edition>
</VisualStudio>
<VisualStudio Version="11.0">
<Edition>Pro</Edition>
</VisualStudio>
<VisualStudio Version="12.0">
<Edition>Pro</Edition>
</VisualStudio>
</SupportedProducts>
<SupportedFrameworkRuntimeEdition MinVersion="4.0" />
</Identifier>
<Content>
<VsPackage>|%CurrentProject%;PkgdefProjectOutputGroup|</VsPackage>
<MefComponent>|%CurrentProject%|</MefComponent>
</Content>
</Vsix>
No es necesario que especifique todas las ediciones de productos (llamadas SKU), Pro
es suficiente, si, por ejemplo, se instala Ultimate
, se mostrará en su lugar.