是否将客户端配置文件.net dll与非客户端配置文件.dll链接?

是否将客户端配置文件.net dll与非客户端配置文件.dll链接?,.net,.net,我开发了一个使用.NET4.0客户端配置文件(CP)的.dll。但是,我还有一个.dll,我想与我的.dll链接,另一个.dll(DotNetOpenAuth)与客户端配置文件不兼容,因为它使用System.Web 我知道你不能用CP兼容的项目引用非CP.dll。问题是我如何做到这一点:)我知道很多事情乍一看是不可能的,但需要一些调整 我不明白的是,为什么编译器不给我一个警告,我的目标项目是CP链接非CP.dll。如果它以这种方式工作,我将能够拥有CP兼容的.DLL,它在大多数情况下都可以工作,

我开发了一个使用.NET4.0客户端配置文件(CP)的.dll。但是,我还有一个.dll,我想与我的.dll链接,另一个.dll(DotNetOpenAuth)与客户端配置文件不兼容,因为它使用System.Web

我知道你不能用CP兼容的项目引用非CP.dll。问题是我如何做到这一点:)我知道很多事情乍一看是不可能的,但需要一些调整

我不明白的是,为什么编译器不给我一个警告,我的目标项目是CP链接非CP.dll。如果它以这种方式工作,我将能够拥有CP兼容的.DLL,它在大多数情况下都可以工作,除非调用利用DotNetOpenAuth的功能

简而言之,我想将CP兼容性检查从编译时转移到运行时。这是因为my.dll具有许多功能,大多数人永远不会使用需要DotNetOpenAuth的部分。那些需要DotNetOpenAuth的人将不得不使用完整的.net框架。但这决不能成为其他人的阻碍

我的意思是AllowPartiallyTrustedCallersAttribute,它允许您将一些编译时检查移动到运行时

我不想维护.dll的两个独立版本(一个用于web应用程序,另一个用于客户端配置文件),因为它增加了用户选择.dll的复杂性。我宁愿把事情简单化

当然,有一种通过反射动态加载.dll的方法,但这需要运行代码具有相当高的权限(对于web应用程序,它们可能没有足够的权限)