我在我的一个项目中使用 Visual Studio 2008 和导入的 GeckoFX-Framework。由于 Geckofx-13.0.dll 使用 XUL-Runner 本身,因此必须在项目的构建目录中也包含这些文件。到目前为止,我曾经手动将它们复制到两个目录(调试和发布)中。
我问自己是否可以告诉 VS 将它们自动复制到这些目录中。
如果这些文件丢失,则构建的执行将失败。
我在我的一个项目中使用 Visual Studio 2008 和导入的 GeckoFX-Framework。由于 Geckofx-13.0.dll 使用 XUL-Runner 本身,因此必须在项目的构建目录中也包含这些文件。到目前为止,我曾经手动将它们复制到两个目录(调试和发布)中。
我问自己是否可以告诉 VS 将它们自动复制到这些目录中。
如果这些文件丢失,则构建的执行将失败。
您可以将所需的文件添加到您的项目中,在属性窗口中将它们设置为“内容”,并将构建操作设置为“如果较新则复制”。
您可以将构建后操作(右键单击项目,选择属性)添加到发布和调试配置以将文件复制到输出目录(您可以使用宏而不是硬编码,这样总是使用正确的目标,在项目设置中编辑时也是如此)。一个简单的copy .\Files\*.* $(TargetDir)
可能会工作。您可以从命令行执行的任何命令也可以在此处使用。
首选方式:
您可以添加一个Post-Build 目标(右键单击项目、卸载项目、右键单击卸载项目、编辑项目)并使用 msbuild<copy>
任务将文件从一个位置复制到另一个位置。您可以再次使用宏,例如$(OutDir)
or$(TargetDir)
或$(Platform)
and $(Configuration)
。
我有同样的问题,我做了这样的事情:
XCOPY "$(ProjectDir)resources\libraries\xulrunner" "$(TargetDir)xulrunner" /E /I /Y /R
它完美地工作。现在我在位于 Debug/Release 输出目录中的指定“xulrunner”目录中有 xulrunner,因此 xulrunner 文件不会与应用程序库混合。记得在 Xpcom.Initialize 调用中设置新的 xulrunner 目录。