如何:添加或移除包含列表项 (2007 System)
更新:2007 年 11 月
适用对象 |
---|
本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。 项目类型
Microsoft Office 版本
有关更多信息,请参见按应用程序和项目类型提供的功能。 |
所安装的解决方案没有受信任的证书时,Visual Studio Tools for Office 项目的安装程序可以向包含列表添加解决方案。但安装程序将显示一个提示,用户可以做出响应并指出应信任该解决方案。如果要向用户的包含列表中添加您的解决方案,但不想提示用户,则可以用编程方式添加包含列表项。
有关包含列表的信息,请参见通过使用包含列表信任 Office 解决方案 (2007 System)。
下面的过程使用控制台应用程序来修改包含列表。应避免修改代码来接受用户输入。
有关视频演示,请参见 Video How to: Add or Remove Inclusion List Entries (2007 System)(视频帮助:添加或移除包含列表项 (2007 system))。
向包含列表中添加项
使用 Add 方法将 AddInSecurityEntry 项添加到 UserInclusionList。
向包含列表中添加解决方案
在 Visual Studio 中创建一个 Visual Basic 或 Visual C# 控制台应用程序。
添加对 Microsoft.VisualStudio.Tools.Office.Runtime.v9.0 的引用。
打开 Module1.vb 或 Program.cs 文件进行编辑,并在文件的顶部添加以下 Imports 或 using 语句。
Imports Microsoft.VisualStudio.Tools.Office.Runtime.Security
using Microsoft.VisualStudio.Tools.Office.Runtime.Security;
打开要添加到包含列表的 Office 解决方案的部署清单,并找到出现在 StrongNameSignature 节点下的 RSAKeyValue 元素。
将 RSAKeyValue 元素(包括所有子元素和 RSAKeyValue 标记)复制到剪贴板。
将以下代码添加到 Main 方法,并将 PublicKey 替换为从部署清单中复制的文本,同时将示例 URI 替换为部署清单的位置。
Dim publicKey As String = "<RSAKeyValue><Modulus>mUl8MhOil1fKLKYpHItsyCGNXxGJW74L8d4zOVwSvLDP1qoXF0lLqf/Ql8yO+31zuFbx8Aer3eQz9tcb/pz0NJREdbeOvxYa+nHTnR3j7rRUkmE8AKzvcG8BmTlgbprXaY0QTln8syHTC7yY5AA+xibwatFMpEpEBRqF5MmsGkE=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>" Dim solutionLocation As New _ Uri("http://DeploymentServer/MySolution/MySolution.vsto") Dim entry As AddInSecurityEntry Try entry = New AddInSecurityEntry(solutionLocation, publicKey) UserInclusionList.Add(entry) Catch e As ArgumentNullException Console.WriteLine(("Exception: " + e.Message)) End Try
string publicKey = "<RSAKeyValue><Modulus></Modulus><Exponent>AQAB</Exponent></RSAKeyValue>"; Uri solutionLocation = new Uri(@"http://DeploymentServer/MySolution/MySolution.vsto"); AddInSecurityEntry entry; try { entry = new AddInSecurityEntry(solutionLocation, publicKey); UserInclusionList.Add(entry); } catch (ArgumentNullException e) { Console.WriteLine("Exception: " + e.Message); }
生成应用程序。
在运行 Visual Studio Tools for Office 解决方案的计算机上运行应用程序。包含由 solutionLocation 表示的部署清单的解决方案即被添加到包含列表。
从包含列表中移除项
使用 UserInclusionList 类的 Remove 方法来移除项。
从包含列表中移除解决方案
在 Visual Studio 中创建一个 Visual Basic 或 Visual C# 控制台应用程序。
添加对 Microsoft.VisualStudio.Tools.Office.Runtime.v9.0 的引用。
打开代码文件进行编辑,并在文件的顶部添加以下 Imports 或 using 语句。
Imports Microsoft.VisualStudio.Tools.Office.Runtime.Security
using Microsoft.VisualStudio.Tools.Office.Runtime.Security;
将以下代码添加到 Main 方法中,并将示例 URI 替换为部署清单的位置。
Dim solutionLocation As New _ Uri("http://DeploymentServer/MySolution/MySolution.vsto") Try UserInclusionList.Remove(solutionLocation) Catch e As ArgumentNullException Console.WriteLine(("Exception: " + e.Message)) End Try
Uri solutionLocation = new Uri("http://DeploymentServer/MySolution/MySolution.vsto"); try { UserInclusionList.Remove(solutionLocation); } catch (ArgumentNullException e) { Console.WriteLine("Exception: " + e.Message); }
生成应用程序。
在运行 Visual Studio Tools for Office 解决方案的计算机上运行应用程序。包含由 solutionLocation 表示的部署清单的解决方案即被从包含列表中移除。