- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在尝试在tfs 2008上建立一个持续的集成构建。在我要构建的项目中,我使用密钥进行签名。此密钥使用密码。我无法让它生成,因为在生成期间,tfs希望显示一个无法显示的对话框。我认为我需要在服务器上手工构建项目,但是只有TFS资源管理器和构建部件安装在服务器上。关于如何使我的项目正确构建有什么建议吗?
这是tfs给出的错误:
C:\windows\microsoft.net\framework\v3.5\microsoft.common.targets(1805,7):
错误MSB4018:“ResolveKeySource”
任务意外失败。
System.InvalidOperationException:无效操作异常:
显示模式对话框或窗体
当应用程序未运行时
用户交互模式无效
操作。指定
服务通知或
默认仅显示桌面样式
来自服务的通知
应用程序。在
System.Windows.Forms.Form.ShowDialog(Iwin32窗口
所有者)
System.Windows.Forms.Form.ShowDialog()。
在
Microsoft.Build.Tasks.ResolveKeySource.Resolveassemblykey()。
在
Microsoft.Build.Tasks.ResolveKeySource.Execute()。
最佳答案
下面详细介绍了具体步骤。
安装程序密钥文件
使用项目属性中的Visual Studio“签名”选项卡创建受密码保护的私钥/公钥对(key pair.pfx)
从密钥对中提取公钥并将其复制到单独的文件(key.snk)
sn.exe-p密钥对.pfx key.snk
将keypair.pfx复制到构建服务器。我使用c:\program files\msbuild\keyfile.pfx,因为它随后可以由$(msbuildExtensionsPath)msbuild属性访问。
将keypair.pfx文件移动到安全的位置。密码也要保密。
将key.snk复制到开发人员可以访问的共享位置。
设置要签名的项目
对于要签名的每个程序集:
打开项目属性签名页
选中[X]对程序集签名复选框。
选中[X]Delay Sign Only复选框。
从“密钥文件”下拉列表中选择。
浏览到共享位置并选择key.snk文件
snk文件将被复制到分配给它的每个项目目录中。
将某个项目中的密钥文件复制到解决方案项中,以便将其用于测试运行配置。
设置重新签名的测试运行配置
如果要检测程序集并为单元测试启用代码覆盖率,则需要指定用于重新签名的密钥文件。
打开localtestrun.testrunconfig文件
在“代码覆盖率”选项卡上,选择密钥作为重新签名密钥文件。
在开发人员工作站上禁用强名称验证
由于只使用公钥延迟签名,.NET CLR程序集验证将在本地生成程序集时失败。当验证失败时,您将无法运行或调试程序集。
为了在开发中克服这一点,需要对本地生成的程序集禁用强名称验证,并使用公钥延迟签名。
打开Visual Studio命令提示
Type:sn.exe -tp Key.snk
这将输出一些数据,包括令牌。
Type:sn -Vr *,YOUR_KEY_TOKEN
示例:sn -Vr *,0123456789abcdef
这将禁用用公钥签名的所有程序集的强名称验证。
您可以列出强名称验证的当前设置:
SN—Vl
正在安装团队生成的私钥
由于私钥(key.pfx)受密码保护,因此团队构建无法访问它。多亏了blog post,我们有了一个解决方案。
作为生成服务帐户登录到Team Build Server
在Visual Studio中打开项目
在Visual Studio中生成项目
系统将提示您输入私钥文件的密码。
输入密码
关闭Visual Studio并注销
私钥文件现在安装在生成服务帐户的本地证书存储中,Team Build可以访问它,而无需再次提示输入密码。此证书存储与生成服务帐户的密码一样安全。(提示:使其与密钥文件的密码一样强)
正在更新tfsbuild.proj生成脚本
team build可以访问私有密钥文件和密码。这允许它对程序集进行完全签名。
要重写项目设置并指示team build使用私有密钥文件并禁用部分签名,我们需要在tfsbuild.proj中设置custompropertiesforbuild属性。
签出tfsbuild.proj生成脚本
搜索占位符属性(默认在第130行附近)
替换为以下内容:
signassembly=true;delaysign=false;assemblyoriginatorkeyfile=$(msbuildExtensionsPath)\key.pfx
签入您的更改
将生成排队
验证团队生成输出
要检查TeamBuild是否对程序集进行了正确的强名称命名,可以使用sn.exe实用工具验证强名称签名。
打开Visual Studio命令提示
Type:
sn.exe-vf assemblyname.dll文件
您还可以同时验证所有程序集:
打开Visual Studio命令提示
Type:
对于在(*.dll)中的%a,执行sn.exe-vf%a
关于具有密码保护的协同设计失败的Team Foundation服务器构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1056997/
无法将应用程序添加到 Teams 管理员中的自定义策略。 在新海关政策中添加新应用程序后。单击保存按钮时,出现错误显示“我们现在无法保存应用程序设置策略。请重试。如果问题仍然存在,请联系 Micros
我想创建一个应用程序,当用户在 MS Teams 中接到电话时会收到通知。我的意思是我想在来电事件上订阅一些东西,然后根据来电信息做一些事情。这可能吗?到目前为止,我在 SDK 中没有看到任何事件。
这个问题在这里已经有了答案: jQuery validate dynamic input array (2 个答案) jQuery Validate array input element whic
未在从 MS Teams 返回的事件对象中获取时区... 我能够从 MS Teams 上发布的用户消息中获取事件对象,但时区为 null。我需要确定用户。 下面是事件对象。 Activity Obje
我有一个简单的 web 应用程序,我在 Teams 中显示为一个应用程序。我已经在 App Studio 中进行了设置,一切都按我的预期工作,一切都很好。它正在显示我的网络应用程序,这就是我想要的。
从 Flow 向 Microsoft Teams 发布自适应卡片时,该消息似乎被压缩到大约 50% 的宽度。它不会扩展以适应 Teams 中的消息容器。 Squished Adaptive Card
如何在 Microsoft Teams 中恢复已删除的团队?似乎没有相应的选项可以做到这一点? 出于某种原因,我删除了某个团队,由于团队尚不存在,因此我无法使用“管理团队”之类的选项。 最佳答案 因为
如果在 Microsoft Teams 中运行,我有一个需要执行特定代码的 Web 应用程序,但是我还没有弄清楚是否有任何方法可以判断您的应用程序是否在团队中运行。有什么想法或见解吗? 编辑: 对于任
有什么方法可以通过深层链接与 ms-teams 中的机器人开始对话吗? 我已经在 https://docs.microsoft.com/en-us/microsoftteams/platform/co
我将来在 MS Outlook 中设置了外出 session 提醒,现在我的 MS Teams 显示外出。 我检查了我的 MS Outlook 中的设置,并尝试手动更改我在 MS Teams 中的状态
我在办公室工作,我们有大量文件存储在 SharePoint、OneDrive 等中,我可以轻松连接到 Microsoft Teams,但也有很多文件存储在网络共享中,路径如\\xxxx\xxxx\xx
虽然有很多关于如何向团队添加选项卡的文档,但我似乎找不到任何关于如何创建和驱动用户访问选项卡内容(如 T-Bot 中演示的内容)的文档。 谁能告诉我有关如何向机器人添加标签的任何文档? 这就是我要说的
我们正在尝试使用 Teams、Flow 和 Assembla 创建审批工作流,但遇到了一些麻烦。 我们已经成功设置了一些部分,但是我们无法从 Teams 中的卡启动 POST 操作。 在团队中,我们可
已发布here我正在寻找一种方法来设置当前用户在 Teams 中的状态,就像我使用 Lync SDK 为 Skype for Business 所做的那样。 是否有适用于 Teams 的类似 SDK,
我试图从传入的 webhook 中提及用户。 我通过 postman 尝试了几次迭代 { "text": "test @user" } 或者 { "text": "test @user@email.c
我们公司几个月前开始使用 Microsoft Teams。我的一位同事离开了公司。如果我禁用/删除他的 AAD 帐户会怎样?我们希望他在 Teams channel 中发送的消息能够被保留。 最佳答案
我想知道是否有人尝试在 TS 和 SVN/CC 之间迁移。 我所说的迁移是指在不丢失历史记录的情况下在源代码控制系统之间导入和导出存储库。 迁移到 VSTS 和从 VSTS 迁移的工具有多好? 我也有
当我尝试连接到 tfs 时,出现以下错误: --------------------------- Microsoft Visual Studio --------------------------
我们在机器人框架上创建了一个机器人,并为 Microsoft Teams channel 启用。在 bot 中,附件功能已启用,用户可以使用 Teams 向 bot 发送文件,并且运行良好。但是从过去
我有一个团队通知机器人,我正在尝试将其上传到团队管理门户。应用程序包上传得很好,但是当转到权限选项卡时,“组织范围权限”下没有用于添加组织范围权限的按钮。 Teams admin missing bu
我是一名优秀的程序员,十分优秀!