我正在创建一个Visual Studio 2017自定义签入策略扩展.我目前的解决方案结构如下:
注意:我正在利用新的NuGet PackageReference方法,这就是没有packages.config文件的原因.
我相信我已经适当地设置了我的VSIX清单,因为当我没有引用时一切都很完美Microsoft.Net.Http(最初我是在值中硬编码而不是检索值).我不确定为什么Microsoft.TeamFoundationServer.ExtendedClient包含的NuGet包不会引起任何问题,而Microsoft.Net.HttpNuGet包也是如此.
我查看了调试文件夹以查看正在编译的内容,并且我看到每个程序集都被拉入,但是如果我解压缩VSIX(我将其重命名为*.zip并解压缩它),则只包含项目程序集; Nuget引用的程序集未打包在VSIX包中.
我遇到了一些资源,但似乎没有任何工作:
这些问题/答案中的每一个似乎都没有解决我的具体问题.
更新:
我相信用于生成VSIX包的工具可能不支持PackageReferenceNuGet 的新功能.如果我使用旧的packages.config功能,一切正常.我已经放入了UserVoice Ticket来支持新的NuGet功能.
我安装了Visual Studio 2012并连接到TFS 2010.很遗憾,由于策略,我无法办理登机手续.我收到一个错误:
自定义路径策略中的内部错误.加载自定义路径策略时出错(策略程序集'Microsoft.TeamFoundation.PowerTools.CheckinPolicies.CustomPathPolicy,Version = 10.0.0.0,...'未注册.).
有人知道如何解决这个问题吗?
我们使用TFS作为版本控制.目前,项目管理是通过我们当地的PMS应用程序完成的.我们有一个要求,例如当团队成员检查项目时,显示用于输入任务详细信息的自定义对话框并更新我们的本地pms数据库.我想显示一个自定义对话框,和/或调用签入命令后.同时确保只通过此自定义对话框成功提交任务详细信息,我们可以签入项目.
我有通过VSIX部署的自定义签入策略.现在我正在尝试在Visual Studio 2013中使用它们.
我做了什么: 我在VS 2013中打开了我的策略.将vsixmanifest中的"Install Targets"更改为[10.0,13.0].然后构建项目,安装VSIX并打开两个VS.
VSIX项目使用.NET Framework 4.5,策略项目使用4.0.
是)我有的:
C:\Users\...\AppData\Local\Microsoft\VisualStudio\12.0Exp\Extensions目录中我的策略的最新版本C:\Users\...\AppData\Local\Microsoft\VisualStudio\11.0(and 12.0)\ExtensionsHKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0_Config(and 12.0_Config)\TeamFoundation\SourceControl\Checkin Policies现在,当我想要应用它们时Team Project Settings -> Source Control -> Check-in Policy -> Add,我可以在VS 2012中选择我的自定义策略,但VS 2013却看不到它们.
我该怎么办才能修复它?
UPD:
于是,我改变的程序集的版本解决我的问题Microsoft.TeamFoundation.VersionControl.Client,从11.0到12.0
和
.NET Framework版本在政策的项目,从4.0到4.5