2
NuGet包部署是由于以下原因,非常有吸引力:的NuGet和Visual Studio的工具箱项
- 简化组件更新的更新文件
- 自动下载和安装
- 的
- 简化源代码控制。 ..
问题是当组件/库与Visual Studio关联时工具箱项目。据我所知,在获得组件的最新版本之后,程序集版本与Toolbox项目的版本发生冲突。
有没有一个优雅的解决方案来解决这个问题?
谢谢。
NuGet包部署是由于以下原因,非常有吸引力:的NuGet和Visual Studio的工具箱项
问题是当组件/库与Visual Studio关联时工具箱项目。据我所知,在获得组件的最新版本之后,程序集版本与Toolbox项目的版本发生冲突。
有没有一个优雅的解决方案来解决这个问题?
谢谢。
它看起来像安装VSIX扩展的代码是从VSIXCommands nuget pacakge采取的以下片段,应该能够从nuget包安装程序运行。或者您可以直接在VSIXCommands nuget package上添加依赖项并使用它。
这假定您的控件打包为VSIX扩展。
$extensionManager = [Microsoft.VisualStudio.Shell.Package]::GetGlobalService([Microsoft.VisualStudio.ExtensionManager.SVsExtensionManager])
$extensionRepository = [Microsoft.VisualStudio.Shell.Package]::GetGlobalService([Microsoft.VisualStudio.ExtensionManager.SVsExtensionRepository])
$VSInstallDir = Get-ItemProperty HKLM:\SOFTWARE\Microsoft\VisualStudio\10.0 InstallDir | Select -ExpandProperty InstallDir
$vsixInstallerPath = Join-Path $VSInstallDir VSIXInstaller.exe
function Get-InstalledVsix {
param(
[string]
[parameter(Mandatory = $true)]
$VsixId
)
$vsix = $null
if($extensionManager.TryGetInstalledExtension($VsixId, [ref]$vsix)) {
$vsix
}
else {
$null
}
}
function Install-Vsix {
param(
[string]
[parameter(Mandatory = $true)]
$VsixPath
)
Start-Process $vsixInstallerPath -ArgumentList $VsixPath -Wait
}
你想看看https://bitbucket.org/dfowler/vsixcommands/wiki/Home – bradgonesurfing