3

我正在尝试组织我的 VS 2010 解决方案。阻碍我的一个领域是使用非托管 DLL。我无法将它们添加为引用,因为 DLL 是非托管的。以前的方法是在 Pre/Post 构建事件期间将 DLL 从“lib”文件夹 xcopy 到输出文件夹。这样做的缺点是每次构建都会发生不必要的复制,并且清理操作从未从输出文件夹中删除 DLL。

我理想的解决方案是将 DLL 合并到 VS lib 文件夹中,并利用“如果更新则复制”功能。但是,VS 在输出文件夹中创建了一个 lib 文件夹并将 DLL 放在那里。请注意,我不喜欢将 DLL 放在我的项目树的顶层。有很多 DLL,这似乎污染了项目。

4

1 回答 1

1

我会返回发布构建步骤但使用xcopy /d(仅在较新的情况下复制),并使用这样的步骤如何在 Visual Studio 2008 中创建自定义清理(清理后)事件?实施自定义清洁。

您可以通过在每种情况下获取列表并在它们上执行来避免重复的文件列表。

预构建事件只是批处理脚本

并且您可以使用 MSBUILD 批处理来创建清理步骤适用的列表。

如果您愿意,您可以在 msbuild 脚本中编写一个编译前步骤,将文件从源复制到目标,而不是 VS 中的预编译步骤。

于 2012-05-01T20:48:15.257 回答