Tag: filepath

无论.NET版本/环境如何,保证找到ildasm.exe和ilasm.exe文件的文件路径的方法?

有没有办法以编程方式获取ildasm.exe / ilasm.exe可执行文件的FileInfo / Path? 我正在尝试反编译并重新编译一个dll / exe文件后对其进行一些修改(我猜测PostSharp会做类似的事情,在编译后改变IL)。 我发现了一篇博文,指出: var pfDir = Environment.GetFolderPath(Environment.SpecialFolders.ProgramFiles)); var sdkDir = Path.Combine(pfDir, @”Microsoft SDKs\Windows\v6.0A\bin”); … 但是,当我运行此代码时,目录不存在(主要是因为我的SDK版本是7.1),因此在我的本地计算机上正确的路径是@”Microsoft SDKs\Windows\v7.1\bin” 。 我怎样才能确保我能找到ildasm.exe? 同样,我发现了另一篇关于如何访问ilasm.exe的博文: string windows = Environment.GetFolderPath(Environment.SpecialFolder.System); string fwork = Path.Combine(windows, @”..\Microsoft.NET\Framework\v2.0.50727″); … 虽然这有效,但我注意到我有Framework和Framework64,而在Framework本身中我拥有v4.0.30319的所有版本(与Framework64相同)。 那么,我怎么知道使用哪一个? 它应该基于我正在瞄准的.NET Framework版本吗? 摘要: 我如何保证找到到ildasm.exe的正确路径? 如何正确选择正确的ilasm.exe进行编译?

不使用System.IO.FileInfo获取文件大小?

是否可以在不使用System.IO.FileInfo情况下在C#中获取文件的大小 ? 我知道你可以分别使用Path.GetFileName(yourFilePath)和Path.GetExtension(yourFilePath)来获取Name和Extension等其他内容,但显然不是文件大小? 有没有其他方法可以在不使用System.IO.FileInfo情况下获取文件大小 ? 唯一的原因是,如果我是正确的,FileInfo会抓取比我真正需要的更多的信息,因此如果我需要的唯一东西是文件的大小,那么收集所有这些FileInfo需要更长的时间。 有更快的方法吗?

Visual Studio – unit testing在项目中加载资源

目标是在这些Xml文件中给出一些数据来运行一些测试。 如何在unit testing方法中轻松地将给定的Xml文件加载到XmlDoc中? 目前的状态是: XmlDocument doc = new XmlDocument(); string xmlFile = “4.xml”; string dir = System.IO.Directory.GetCurrentDirectory() + @”\Msgs\” //dir is then the value of the current exe’s path, which is //d:\sourcecode\myproject\TestResults\myComputer 2009-10-08 16_07_45\Out //we actually need: //d:\sourcecode\myproject\Msgs\ doc.Load( dir + fileName); //should really use System.IO.Path.Combine()! 将该路径放在app.config只是一个简单的问题吗? 考虑到开发人员机器上可能存在不同的路径,我希望避免这种情况。 问题:在unit testing方法中,您如何编写算法将给定的Xml文件加载到XmlDocument中?