Visual Studio 2013后生成事件总是显示资源管理器

4

我想在我的项目(Visual C++)中进行一些后构建操作,包括将一些文件复制到输出目录。它们大多是像图标和 XML/CSS 这样的资源文件。问题是,它每次构建后都会打开资源管理器。我试图检查可复制的内容是否驻留在目标文件夹中,如果是,则不复制文件,但似乎忽略了我的设置。以下是我的后构建事件:

IF NOT EXIST $(OutDir)fonts\uni05_53.ttf
(
xcopy "$(ProjectDir)uni05_53.ttf" "$(OutDir)fonts\" /Y /I
)

IF NOT EXIST $(OutDir)data\favicon.ico
(
xcopy "$(ProjectDir)data\favicon.ico" "$(OutDir)images\" /Y /I
)

IF NOT EXIST $(OutDir)layout\warlockgui.css
(
xcopy "$(ProjectDir)layout\warlockgui.css" "$(OutDir)layout\" /Y /I
)

IF NOT EXIST $(OutDir)layout\warlockgui.xml
(
xcopy "$(ProjectDir)layout\warlockgui.xml" "$(OutDir)layout\" /Y /I
)

即使我使用了 /D 开关指定了日期,每次它都会在项目根目录打开资源管理器。
1个回答

1
语法错误。由于批处理是逐行解析的,因此开放括号必须在同一行上。否则,if语句将不起作用,因为它不知道应该包含以下行。
IF NOT EXIST "$(OutDir)fonts\uni05_53.ttf" (
xcopy "$(ProjectDir)uni05_53.ttf" "$(OutDir)fonts\" /Y /I
)

IF NOT EXIST "$(OutDir)data\favicon.ico" (
xcopy "$(ProjectDir)data\favicon.ico" "$(OutDir)images\" /Y /I
)

IF NOT EXIST "$(OutDir)layout\warlockgui.css" (
xcopy "$(ProjectDir)layout\warlockgui.css" "$(OutDir)layout\" /Y /I
)

IF NOT EXIST "$(OutDir)layout\warlockgui.xml" (
xcopy "$(ProjectDir)layout\warlockgui.xml" "$(OutDir)layout\" /Y /I
)

谢谢,但出于某种奇怪的原因,它也会触发资源管理器 :/ - Citrus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接