在 Visual Studio 中运行 MSIL
我们有 Visual Studio 2005。
我可以使用“ilasm”从命令行成功运行 MSIL 程序。
我希望能够在 VS 中运行这些。
从其他帖子和搜索中,我推测您需要创建“控制台应用程序”类型的项目? (他们暗示 VS 可以处理 MSIL,但我找不到任何具体的“如何”。)
“控制台应用程序”提供了标准的 Program.cs,
using System;
using System.Collections.Generic;
using System.Text;
namespace AddNumbers
{
class Program
{
static void Main(string[] args)
{
}
}
}
然后我将 .il 文件(添加了两个数字)添加到项目。 该项目构建成功,当我运行它时,它不执行任何操作,并且我在 .il 文件中设置的断点不会触发。 这并不奇怪,因为 .il 文件没有被调用。
有人可以提供一个逐步的方法来使其发挥作用吗?
我还想知道需要添加到 .il 文件中的命名空间,以及是否可以将参数传递到 .il 文件以及(如果可以)如何传递?
We have Visual Studio 2005.
I can successfully run MSIL programs from the command line using "ilasm".
I would like to be able to run these inside VS.
From other posts and searches, I gather you need to create a "Console Application" type of project? (They allude to the fact that VS can handle MSIL but I can't find any specific "how to".)
"Console Application" gives the standard Program.cs
using System;
using System.Collections.Generic;
using System.Text;
namespace AddNumbers
{
class Program
{
static void Main(string[] args)
{
}
}
}
I then add my .il file (which adds two numbers) to the project. The project builds successfully and when I run it it does nothing and the breakpoints that I set in the .il file are not triggered. Not surprising because the .il file is not being called.
Can some please provide a step-by-step approach to getting this to work?
I'd also like to know what namespace I need to add to the .il file and also if it is possible to pass parameters to the .il file and (if so) how?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您将需要某种 ILASM MSBuild 任务。
您需要启用 ILASM 的行号和调试选项。
这是完整的示例,由 MSDN 提供。
You would need some kind of ILASM MSBuild task.
You would need to enable the line numbers and debugging options for ILASM.
And here is a complete example, courtesy of MSDN.