visual-studio - 在编译时,Visual Studio 项目( 纸盒) 文件夹路径?

  显示原文与译文双语对照的内容
141 0

在编译时是否可以找到项目路径?

创建一个 单元测试 来测试默认 Web.Config ( 项目文件夹中的那个) 中的configurartion 。主要是为了减少人为错误。

我不能依赖于运行时( 用于测试)的程序集位置,所以我需要知道项目文件夹在哪里访问 Web.Config 。

我需要一个"泛型"解决方案,因为我想为多个项目使用相同的( 基) 测试代码。

谢谢。

时间:原作者:0个回答

99 5

如果你希望 Visual Studio 项目路径在编译时,可以以使用in事件( 查看项目属性对话框) 来运行一个将创建项目的源文件。

源文件将包含一些代码,比如变量定义。你的测试代码使用这里变量。变量的值来自 vs ;当它运行预生成事件命令时,它将替换某些宏的项目属性。你想要的宏可能是 ProjectDir 。

因这里,在最后,你可以以对事件的预先生成命令进行类似的操作:

echo 'const char * PROJECT_PATH ="$(ProjectDir)";'> source.cpp

不确定你正在使用什么语言,所以相应调整。

原作者:
84 2

根据rkb的回答

听起来你有一个 C# 项目,使用这个构建步骤。

echo namespace ProjectPath { static public class ProjectPath { public static readonly string Path = @"$(ProjectDir)";} }> $(ProjectDir)path.cs

然后将 path.cs 作为现有项目包含到你的测试项目中。然后你可以通过以下方式访问它:

string path = ProjectPath.ProjectPath.Path;
原作者:
...