有没有办法获取当前代码所在的程序集的路径?我不希望调用程序集的路径,而只是包含代码的路径。
基本上,我的单元测试需要读取一些相对于dll的xml测试文件。无论测试dll是从TestDriven.NET,MbUnit GUI还是其他版本运行,我都希望该路径始终能够正确解析。
编辑:人们似乎误解了我在问什么。
我的测试库位于
C:\ projects \ myapplication \ daotests \ bin \ Debug \ daotests.dll
我想走这条路:
C:\ projects \ myapplication \ daotests \ bin \ Debug \
当我从MbUnit Gui运行时,到目前为止,这三个建议使我失望:
Environment.CurrentDirectory
给出c:\ Program Files \ MbUnitSystem.Reflection.Assembly.GetAssembly(typeof(DaoTests)).Location
给出C:\ Documents and Settings \ george \ Local Settings \ Temp \ .... \ DaoTests.dllSystem.Reflection.Assembly.GetExecutingAssembly().Location
给出与先前相同的结果。
packages
sln文件旁边。但是,当您编译和分发内容时,没有sln文件,也没有程序包目录。在编译期间,需要的内容(但不是全部)被复制到bin目录中。最好的选择是使用后期构建脚本来复制所需的文件。