Visual Studio - 解决方案中的2个项目 - 工作目录

时间:2015-06-26 11:46:01

标签: visual-studio-2013 directory

我的Visual Studio 2013中有一个C ++解决方案。 该解决方案包含2个项目。一个是游戏引擎项目,另一个是游戏项目。

启动的默认项目是Game(它是.exe),项目依赖于Game Engine项目(游戏项目只使用.lib)。

问题是,GameEngine项目总是使用Game的$(ProjectDir)或工作目录,这是我不想要的。即使它在属性中说它将使用GameEngine文件夹的路径,它最终也不会。

我希望GameEngine项目代码使用GameEngine项目文件的工作目录(当我从文件夹中加载文件或图像时)。

请问你能解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

那不是项目参考的工作方式。我们的想法是在默认项目的$(Outdir)中生成一个完整的工作文件夹 - 在您的示例中为C:\folder\Game\bin\x64\release或类似 - 您可以稍后将其打包到安装程序并进行分发。

据推测,您希望GameEngine项目代码在GameEngine的ProjectDir中运行 - 在您的示例C:\folder\GameEngine\bin\x64\release或类似代码中 - 因为您希望代码访问该目录中的其他文件。如果是这种情况,您应该使用Build Action = ContentCopy to Output Directory = Copy if newer将这些文件添加到GameEngine.csproj(请参见下面的屏幕截图)。然后他们将被复制到游戏的$(Outdir),您的代码将能够访问它们。

Visual Studio - Content Copy if newer