C# 如何为程序集添加完全信任?

C# 如何为程序集添加完全信任?,c#,iis,sharepoint,trust,C#,Iis,Sharepoint,Trust,我正在尝试为我的程序集设置特定.NET信任级别的完全信任(此程序集将在SharePoint中的某些web应用程序中运行)。我知道使用CasPol.exe可以做到这一点,但我希望只使用API,而不使用其他可执行文件 更多详情: 在IIS下→ 网站,我有“我的网站” 在“MySite”下→ ASP.NET→ .净信任级别→ 所选信任级别为“WSS_Minimal”(以及配置文件的路径) 如果我像这样编辑xml配置文件: <CodeGroup class="UnionCodeGroup" v

我正在尝试为我的程序集设置特定.NET信任级别的完全信任(此程序集将在SharePoint中的某些web应用程序中运行)。我知道使用CasPol.exe可以做到这一点,但我希望只使用API,而不使用其他可执行文件

更多详情:

  • 在IIS下→ 网站,我有“我的网站”
  • 在“MySite”下→ ASP.NET→ .净信任级别→ 所选信任级别为“WSS_Minimal”(以及配置文件的路径)
如果我像这样编辑xml配置文件:

<CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust">
    IMembershipCondition class="UrlMembershipCondition" version="1"
    Url="C:\PathToMyAssembly\MyAssembly.dll" />
</CodeGroup>

我建议坚持使用caspol.exe。并非该工具提供的所有功能都在.NET framework中公开,因此,如果希望实现自动化,最好的选择是通过C#code或PowerShell调用caspol.exe


如果您正在开发的是自定义DLL,则可以创建BAT文件或PowerShell文件将文件复制到所需位置,运行caspol.exe授予程序集完全信任。还可以通过使用-resolveperm标志调用CasPol并解析输出来检查程序集是否已经具有正确的安全性,从而在中添加检查。然后,可以从VisualStudio中将该脚本作为生成后命令调用,以进一步自动化该过程

您可以尝试通过
SPWebConfigModification
class修改web.config。并设置
fullTrustAssemblies
部分:


谢谢!我没有提到这是SharePoint 2010及更高版本所必需的,因此FullTrustAssemblies部分无关紧要。然而,SPWebConfigModification是我的答案。谢谢
var levelEnumerator = SecurityManager.PolicyHierarchy();
while (levelEnumerator.MoveNext())
{
}