哪些工具执行IL的后编译修改? [英] Which Tools Perform Post-Compile Modification of IL?

查看:307
本文介绍了哪些工具执行IL的后编译修改?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

最近PostSharp提提醒我这一点:

A recent mention of PostSharp reminded me of this:

去年我在那里工作,我们正在考虑使用PostSharp注入仪器到我们的代码。这是一个Team Foundation Server的团队生成/持续集成环境

Last year where I worked, we were thinking of using PostSharp to inject instrumentation into our code. This was in a Team Foundation Server Team Build / Continuous Integration environment.

关于它的思考,我有一种挥之不去的感觉,关于PostSharp的方式运作 - 它编辑的IL是由编译器生成。这困扰了我一下。

Thinking about it, I got a nagging feeling about the way PostSharp operates - it edits the IL that is generated by the compilers. This bothered me a bit.

我没有那么多担心,PostSharp不能正常完成其工作;我担心的事实,这是第一次我记得听到这样的工具。我担心的是其他工具可能不会考虑到这一点。

I wasn't so much concerned that PostSharp would not do its job correctly; I was worried about the fact that this was the first time I could recall hearing about a tool like this. I was concerned that other tools might not take this into account.

事实上,正如我们一起移动,我们的没有的有一些问题,从所产生的事实上PostSharp是弄不清哪个文件夹原来IL在,这是打破了我们的基础之上。这似乎是由于与解析项目引用MSBUILD目标的冲突。冲突的出现是由于该PostSharp使用一个临时目录来存储IL未修改版本的事实。

Indeed, as we moved along, we did have some problems stemming from the fact that PostSharp was getting confused about which folder the original IL was in. This was breaking our builds. It appeared to be due to a conflict with the MSBUILD target that resolves project references. The conflict appeared to be due to the fact that PostSharp uses a temp directory to store the unmodified versions of the IL.

在任何情况下,我没有给计算器参考当时!现在我做的,我想问问大家,如果你知道的那编辑IL作为构建过程的一部分,任何其他工具;或者微软是否需要这一类的工具到在Visual Studio中,MSBUILD,团队建设等。

At any rate, I didn't have StackOverflow to refer to back then! Now that I do, I'd like to ask you all if you know of any other tools that edit IL as part of a build process; or whether Microsoft takes that sort of tool into account in Visual Studio, MSBUILD, Team Build, etc.

更新:感谢您的答案

的底线似乎是,至少在VS 2010中,微软真的的要知道,这样的事情可能发生。所以,如果有这方面的VS2010中的问题,那么微软可能难辞其咎。

The bottom line seems to be that, at least with VS 2010, Microsoft really should be aware that this sort of thing can happen. So if there are problems in this area in VS2010, then Microsoft may share the blame.

推荐答案

我知道,Dotfuscator,一个代码混淆,不修改的组件总成的IL和它在许多构建过程中使用。

I do know that Dotfuscator, a code obfuscator, does modify the IL of assemblies assemblies and it is used in many build processes.

中IL不仅用于代码迷惑和保护,而且还注入额外改性功能集成到您的应用程序(查看我们的(先发制人的)上运行智能这里的博客帖子< 。/ A>

The IL is modified not only for code obfuscation and protection but also to inject additional functionality into your applications (see our (PreEmptive's) blog posts on Runtime Intelligence here.

在另外微软的通用编译器基础设施的组件来读取,修改它们并重写它们的能力见的 CodePlex上的项目。

In addition Microsoft's Common Compiler Infrastructure has the ability to read in assemblies, modify them and rewrite them. See CodePlex for the project.

这篇关于哪些工具执行IL的后编译修改?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆