我在我的一个项目中使用Visual Studio 2008和导入的GeckoFX-Framework。由于Geckofx-13.0.dll使用XUL-Runner本身,所以必须在项目的构建目录中包含这些文件。到目前为止,我习惯将它们手动复制到两个目录中(Debug & Release)。如何从Visual Studio 8中的任何目录中自动将需要的文件复制到release或debug目录
我在问自己是否可以告诉VS将它们自动复制到这些目录中。
如果这些文件丢失,构建执行失败。
我在我的一个项目中使用Visual Studio 2008和导入的GeckoFX-Framework。由于Geckofx-13.0.dll使用XUL-Runner本身,所以必须在项目的构建目录中包含这些文件。到目前为止,我习惯将它们手动复制到两个目录中(Debug & Release)。如何从Visual Studio 8中的任何目录中自动将需要的文件复制到release或debug目录
我在问自己是否可以告诉VS将它们自动复制到这些目录中。
如果这些文件丢失,构建执行失败。
您可以将所需的文件添加到您的项目中,在属性窗口中将它们设置为“内容”,并将生成操作设置为“复制如果较新”。
您可以在发布和调试配置中添加一个Post-Build action(右键单击项目,选择属性)以将文件复制到输出目录(您可以使用宏而不是硬编码,这样正确的目标始终是正确的也可以在项目设置中编辑时使用)。一个简单的copy .\Files\*.* $(TargetDir)
可能会工作。您可以从命令行执行的任何命令也可以在这里使用。
的首选方法:
你可以添加一个Post-Build target(右击项目,卸载项目,右击卸载项目,编辑项目),并使用的MSBuild <copy>
任务从一个位置复制到另一个文件。您可以再次使用一个宏,如$(OutDir)
或$(TargetDir)
或$(Platform)
和$(Configuration)
。
我有同样的问题,我做了这样的事情:
XCOPY "$(ProjectDir)resources\libraries\xulrunner" "$(TargetDir)xulrunner" /E /I /Y /R
和它的作品perfecly。现在我在位于Debug/Release输出目录的指定'xulrunner'direcotry中有xulrunner,所以xulrunner文件不会与应用程序库混合。 记得在Xpcom.Initialize调用中设置新的xulrunner目录。
构建后操作对我来说非常合适。谢谢。 – 2013-02-12 15:16:09