Csharp/C#教程:如果你没有引用它的所有依赖项,你可以使用类库吗?分享


如果你没有引用它的所有依赖项,你可以使用类库吗?

让我澄清一下:

我已经构建了一个类库,可以在几个项目中使用。 作为此DLL的一部分,我想通过扩展CookieAuthenticationProvider为Owin Cookies添加一些不同的自定义提供程序,因此我需要包含对Microsoft.Owin.Security.Cookies的引用。 这是安全的,因为将使用我的库的较新项目也使用Microsoft.Owin.Security.Cookies。

然而,有些项目比较老,不使用Owin等…如果我将库包含在其他用途​​中会不会爆炸? 或者,如果我尝试使用提供者,他们只会爆炸(因为他们不能使用它,我不会这样做)。

我想在我的库中放入一些常用的东西,而不必将每个依赖的DLL引用到每个使用它们的项目中。 我很确定我正在做的事情还可以,但我希望somone可以在我浪费很多时间之前告诉我。 如果有更好的方式,我全都耳朵。

规则:

关于第二点的棘手部分是构成“在Microsoft.Owin.Security.Cookies调用代码”的内容并不总是很清楚。 通常,只要您根本不访问程序集中的类型,.NET就不会尝试执行该程序集中的任何代码。 但是,即使不一定需要它们,也不难意外地访问类型(例如,在初始化器, static或其他方面,检查接口实现的代码等)。

如果你真的希望你的客户能够使用你的DLL,它引用了Microsoft.Owin.Security.Cookies ,而不需要在运行时出现这个DLL,你需要非常小心,以确保你完全支持场景。 这是可能的,但也不难犯错误。

(我不得不承认,我很惊讶这个有用的问题还没有在Stack Overflow上得到解决。看起来它现在已经出现了。但我无法找到重复,因此上面的答案。如果任何人都知道我忽略了一个副本,我欢迎任何适当的通知。)

上述就是C#学习教程:如果你没有引用它的所有依赖项,你可以使用类库吗?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1024427.html

(0)
上一篇 2022年1月7日
下一篇 2022年1月7日

精彩推荐