- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的包只在实验实例中加载。我有以下包类属性:
[PackageRegistration(UseManagedResourcesOnly = true)]
[InstalledProductRegistration("#110", "#112", "3.6.1365", IconResourceID = 400)]
[ProvideMenuResource("Menus.ctmenu", 1)]
[Guid(GuidList.guidVSPackage2012PkgString)]
public sealed class VSixPackage : Package
pkgdef 文件内容:
[$RootKey$\InstalledProducts\VSixPackage]
@="#110"
"Package"="{011cc127-af13-4974-903a-9e6518b2b641}"
"PID"="3.6.1365"
"ProductDetails"="#112"
"LogoID"="#400"
[$RootKey$\Packages\{011cc127-af13-4974-903a-9e6518b2b641}]
@="VSixPackage"
"InprocServer32"="$WinDir$\SYSTEM32\MSCOREE.DLL"
"Class"="Vsix3_6_1365.VSixPackage"
"CodeBase"="$PackageFolder$\Vsix3_6_1365.dll"
[$RootKey$\Menus]
"{011cc127-af13-4974-903a-9e6518b2b641}"=", Menus.ctmenu, 1"
扩展.vsixmanifest:
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011">
<Metadata>
<Identity Id="011cc127-af13-4974-903a-9e6518b2b641" Version="3.6.1365" Language="en-US" Publisher="Ltd." />
<DisplayName>Package 3.6.1365</DisplayName>
<Description>etc...</Description>
<Icon>Resources\Package.ico</Icon>
</Metadata>
<Installation InstalledByMsi="true" AllUsers="true">
<InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[11.0,12.0)" />
<InstallationTarget Version="[11.0,12.0)" Id="Microsoft.VisualStudio.Premium" />
<InstallationTarget Version="[11.0,12.0)" Id="Microsoft.VisualStudio.Ultimate" />
</Installation>
<Dependencies>
<Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" Version="4.5" />
<Dependency Id="Microsoft.VisualStudio.MPF.11.0" DisplayName="Visual Studio MPF 11.0" Version="11.0" />
</Dependencies>
<Assets>
<Asset Type="Microsoft.VisualStudio.VsPackage" Path="Vsix3_6_1365.pkgdef" />
</Assets>
</PackageManifest>
这些文件(包括Vsix3_6_1365.dll)安装到
"%VSInstallDir%\Common7\Ide\Extensions\Your Company\Your Product\Version"
文件夹。创建 .vsix 文件后,它会成功注册包,但我需要使用 msi 自动执行此操作。如何注册原始 Visual Studio(不是实验实例)?
更新 1:
我有几个包(不同版本)
[$RootKey$\InstalledProducts\VSixPackage]
在 .pkgdef 文件中。这可能是问题的原因吗?
更新2:
我尝试了不同的名称而不是“VSixPackage”(添加版本,如 VSixPackage3_6_1382),但这没有帮助。 这些 VSPackages 很奇怪——它们工作了一段时间——我使用 VSExtension:VsixPackage 来安装我的包——它在卸载过程中停止删除它。而且它无法注册 VS2013 的包。现在这个问题。
最佳答案
包类、包定义文件和扩展 list 上提供的属性似乎没问题。我猜扩展仅由实验配置单元加载的原因是因为 Visual Studio 在构建扩展时注册了扩展(至少在按 F5 时通过调试器运行扩展之前)。
当您通过 MSI
安装您的扩展时,您必须以编程方式注册该扩展...仅将扩展程序集文件复制到 Visual Studio 安装目录中的扩展文件夹是行不通的。如果您使用 WiX
工具集来组装 Windows 安装程序包,则可以使用 VsixPackage
元素来注册扩展。
您将在以下位置找到文档:http://wixtoolset.org/documentation/manual/v3/xsd/vs/vsixpackage.html
如果您的扩展不需要任何特殊的安装任务(例如写入注册表或设置其他工具和/或第三方组件),则不需要安装 MSI
,您可以只需从 Windows 资源管理器执行 vsix 文件即可安装扩展;这将显示一个对话框,您必须在其中确认安装。
我从未尝试过手动设置扩展,但您可以尝试设置以下键(可能需要更多键;只需检查实验配置单元的配置以计算出所有必需的键和值)...
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0_Config\InstalledProducts\<package-name>
REGSZ: (Default) = #110
REGSZ: LogoId = #400
REGSZ: Package = <package-guid>
REGSZ: PID = <package-product-id>
REGSZ: ProductDetails = #112
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0_Config\BindingPaths\<package-guid>
REGSZ: <package-installation-folder-path> = ""
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0_Config\Packages\<package-guid>
REGSZ: (Default) = <package-name>
REGSZ: Class = <package-class-fullname>
REGSZ: CodeBase = <package-assembly-fullpath>
REGSZ: InprocServer32 = "C:\Windows\SYSTEM32\MSCOREE.DLL"
关于visual-studio-2012 - MSI 安装的 VSPackage 仅在实验实例中加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19094551/
我正在开发一个需要能够平均三个数字的 Facebook 应用程序。但是,它总是返回 0 作为答案。这是我的代码: $y = 100; $n = 250; $m = 300; $number = ($y
我只是无法弄清楚这一点,也找不到任何对我来说有意义的类似问题。我的问题:我从数据库中提取记录,并在我的网页上以每个面板 12 条的倍数显示它们。因此,我需要知道有多少个面板可以使用 JavaScrip
我是一名优秀的程序员,十分优秀!