Das*_*igo 7 .net c# dll class-library owin
让我澄清一下:
我已经构建了一个类库,可以在几个项目中使用.作为此DLL的一部分,我想通过扩展CookieAuthenticationProvider为Owin Cookies添加一些不同的自定义提供程序,因此我需要包含对Microsoft.Owin.Security.Cookies的引用.这是安全的,因为将使用我的库的较新项目也使用Microsoft.Owin.Security.Cookies.
然而,有些项目比较老,不使用Owin等...如果我把图书馆用于其他用途,它们会爆炸吗?或者,如果我尝试使用提供者,他们只会爆炸(我不会因为他们无法使用它).
我想在我的库中放入一些常用的东西,而不必将每个依赖的DLL引用到每个使用它们的项目中.我很确定我正在做的事情还可以,但是我希望somone可以在我浪费很多时间之前告诉我.如果有一个更好的方式,我全都耳朵.
规则:
Microsoft.Owin.Security.Cookies,那么其他程序集可以使用您的DLL安全地编译而无需引用该程序集.Microsoft.Owin.Security.Cookies也不要叫你的组件中的任何代码,然后将依次试图调用代码Microsoft.Owin.Security.Cookies,该程序集不必出席运行.关于第二点的棘手部分是构成"调用代码Microsoft.Owin.Security.Cookies"的内容并不总是清楚的.通常,只要您根本不访问程序集中的类型,.NET就不会尝试执行该程序集中的任何代码.但是,即使不一定需要它们,也不难意外地访问类型(例如,在初始化程序中,static或者用于检查接口实现的代码等).
如果您真的希望您的客户端能够使用您的DLL,哪些引用Microsoft.Owin.Security.Cookies,而不一定需要在运行时出现该DLL,您将需要非常小心,以确保您完全支持该方案.这是可能的,但也不难犯错误.
(我不得不承认,我很惊讶这个有用的问题还没有在Stack Overflow上得到解决.看起来它现在已经出现了.但我无法找到重复,因此上面的答案.如果任何人都知道我忽略了一个副本,我欢迎任何适当的通知.)
| 归档时间: |
|
| 查看次数: |
2199 次 |
| 最近记录: |