我正在编写一个单元测试来验证我的 .csproj 文件中的重复条目。但是,这些单元测试是在服务器中开始构建过程之前运行的,因此我到 .csproj 的相对路径无法识别我的 .csproj 文件的物理路径。
是否有任何解决方法可以从单元测试程序集中获取我的 .csproj 文件的物理路径。
注意:我已经尝试过使用 Assembly.GetExecutingAssembly()。这给出了我的单元测试文件的当前执行物理路径,但我无法导航到我的 .csproj 文件。
我正在编写一个单元测试来验证我的 .csproj 文件中的重复条目。但是,这些单元测试是在服务器中开始构建过程之前运行的,因此我到 .csproj 的相对路径无法识别我的 .csproj 文件的物理路径。
是否有任何解决方法可以从单元测试程序集中获取我的 .csproj 文件的物理路径。
注意:我已经尝试过使用 Assembly.GetExecutingAssembly()。这给出了我的单元测试文件的当前执行物理路径,但我无法导航到我的 .csproj 文件。
You can use GetApplicationPath method to identify the project location
AssemblyHelper.GetApplicationPath()
您需要让测试知道该文件是依赖项,以便将其复制为测试准备的一部分。查看DeploymentItemAttribute并阅读相关参考资料。
旁注:单元测试对于这种检查来说是一个奇怪的地方......编译器应该找到重复的 CS 文件就好了......