作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个应用程序引用了一个相当大的库 DLL(我们称之为 lib.dll
),但它只使用其中的一个类(我们称之为 Helper
)。
lib.dll
有额外的传递引用,它们在编译时都被复制到我的项目的 bin
文件夹中。
我非常想避免这种开销,并找到一种方法将构成 Helper
的代码“复制”或“交叉编译”或“合并”到我的主项目中。
有没有可能这样做?我想避免 IL 合并 lib.dll
的完整性。
最佳答案
在某些情况下,您可以将第三方 dll 作为嵌入式资源嵌入并自行解析引用,如 Jeffrey Richter 所述here .
简而言之,在您的入口点:
AppDomain.CurrentDomain.AssemblyResolve += (sender, args) => {
string name = new AssemblyName(args.Name).Name;
// Either hardcode the appropriate namespace or retrieve it at runtime in a way that makes sense for your project.
string resourceName = string.Concat("My.Namespace.Resources.", name, ".dll");
using(var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName)) {
var buffer = new byte[stream.Length];
stream.Read(buffer, 0, buffer.Length);
return Assembly.Load(buffer);
}
};
关于c# - 是否可以内部化/IL 合并单个 C# 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45999964/
我已经阅读了引用手册,查看了论坛帖子(例如,How to hold japanese characters in SPRING MVC POJO's field),据我所知,我已经完成了国际化 Spr
Spree I18n 2.3 Setting the Default Locale The default locale for Spree is en. This can be changed by
我是一名优秀的程序员,十分优秀!