2011-03-21 143 views
1

我有一个C#项目,我需要输出路径是一个特定的目录,比如C:\ Program Files \ foo。每次关闭属性信息或构建它时,都会重新设置为...... \ Program File \ Foo,因此无法正确调试。Visual Studio 2008保持输出目录设置为相对路径

它在几个星期内工作正常,现在突然间它不会让我设置输出目录。任何人都曾遇到过这个?

感谢,

回答

4

使用绝对路径通常不是一个好习惯,因为这会将您的项目锁定到特定位置(使其不能在您和其他人的硬盘驱动器上重新定位),甚至可能成为未来的真正问题对于单个开发人员(例如,当你的硬盘驱动器满了,你必须将项目移到D :)

我建议将输出路径保持在默认设置(bin \ Debug等)并使用post-生成事件以将生成的.exe复制到最终的部署位置 - 这更加灵活,并且允许调试本地副本。如果您绝对必须在Program Files中现场调试exe,那么您可以轻松地更改项目属性(调试部分),以便在Program Files中运行特定的.exe实例,而不是Output .exe,因此除了在构建中额外复制一小部分额外成本,它应该允许你做所有你需要做的一切,而不用与VS战斗,让它使用不寻常的路径。

+0

在大多数情况下,我会同意,但我正在处理一个非常大的(并且有点复杂的)程序,并且我只为它添加了一小部分。但是,我需要让我的VS把dll放到一个特定的目录中,以便主程序知道在那里寻找它。 – Boumbles 2011-03-21 22:46:06

+0

@Boumbles - 将dll复制到特定目录的构建后命令应该可以正常工作 - 它将实现与重定向OutputPath几乎相同的效果。 – 2011-03-22 23:49:20

0

如何设置output path?通过project settings标签和browse按钮?我相信你可以尝试直接在.csproj文件中设置它,我怀疑VS会在这种情况下修改它。

+0

你进入项目的属性,然后在构建你可以设置输出路径。我试图改变.csproj文件的路径,但是当我打开项目并检查属性时,我仍然有一个相对路径。 – Boumbles 2011-03-22 12:35:35

相关问题