gpt4 book ai didi

.net - 检测我是否在 SharePoint 中运行

转载 作者:行者123 更新时间:2023-12-04 14:05:27 26 4
gpt4 key购买 nike

有没有办法让我的 ASP.net 应用程序知道它是否在 SharePoint (2010) 中运行,但不引用 SharePoint 程序集? (所以我不能只检查 SPContext.Current 是否为空)。

我想知道获取所有按名称加载的程序集是否可行?因此,如果我看到我的 AppDomain 包含 Microsoft.SharePoint 程序集,那么我就知道我在 SharePoint 中。

用例:程序集也在 SharePoint 之外运行,但引用 SharePoint DLL 需要部署它们(可能不是因为许可)或在我访问 SharePoint 方法时获取异常。

目前我使用条件编译,但我想摆脱这种情况并使用 DI 机制来选择两个类中的一个,这取决于我是否在 SharePoint 中。

最佳答案

bool isSharepoint =
AppDomain
.CurrentDomain
.GetAssemblies()
.Any(a => new AssemblyName(a.FullName).Name == "Microsoft.SharePoint");

未经测试,但这将对名称为 Microsoft.SharePoint 的已加载程序集执行检查。

关于.net - 检测我是否在 SharePoint 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6232144/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com