Mic*_*tum 6 .net reflection sharepoint sharepoint-2010
有没有办法让我的ASP.net应用程序知道它是否在SharePoint(2010)中运行,但没有引用SharePoint程序集?(所以我不能只检查SPContext.Current是否为null).
我想知道是否可以通过名称加载所有程序集?因此,如果我看到我的AppDomain包含Microsoft.SharePoint程序集,那么我知道我在SharePoint中.
用例:程序集也在SharePoint外部运行,但引用SharePoint DLL需要部署它们(不是由于许可)或在访问SharePoint方法时获取异常.
目前我使用条件编译,但我想摆脱它并使用DI机制来选择两个类中的一个,这取决于我是否在SharePoint中.
bool isSharepoint =
AppDomain
.CurrentDomain
.GetAssemblies()
.Any(a => new AssemblyName(a.FullName).Name == "Microsoft.SharePoint");
Run Code Online (Sandbox Code Playgroud)
未经测试,但这将检查名为Microsoft.SharePoint的已加载程序集.
| 归档时间: |
|
| 查看次数: |
275 次 |
| 最近记录: |