Visual Studio不复制链接文件的目录

三元

暂存非托管库或资源时的常见做法是将这些资源添加为项目的链接,并将其设置为复制到输出目录。

从Visual Studio 2013开始,此方法处理得很好,即使它们被引用的库Foo(然后由Application消费)Bar也将最终出现在Bar的输出目录中。

不过,对于文件目录而言似乎并非如此。

库中的引用文件

在这种情况下,我的应用程序似乎仅在重建时将此文件目录复制到输出目录然后,不可避免地,我将进行一些构建操作,并且我会注意到Libs目录再次为空。然后进行重建cef.pak返回。

我对此的解决方案是采用构建步骤Libs目录手动复制到输出目录。尽管我找不到合适的宏来通用地表示,即使此构建步骤是的一部分Foo,但我仍希望将文件复制到的输出目录Bar(例如,VS中的StartUp Project)。

更新

谢谢大家的出色回答,并对此进行了测试。我要澄清的是,当两者之间有额外的库时,我仍然会看到此问题。也就是说,应用程序Bar引用库Foo引用Other了带有这些链接文件的那个库在这种情况下,将Other的链接文件设置为复制到输出目录时,它们似乎只能在重建时使用。我对此的解决方案不理想,那就是直接Foo参考Other

老狐狸

除非您重建/清理解决方案,否则VS确实会从输出文件夹中删除文件。所以我相信您忘了说您的程序(或第三方)这样做了。

首先:是一个类似/精确错误的例子。
下载解决方案并执行以下步骤:

  1. 重建解决方案
  2. 打开酒吧的输出文件夹
  3. 文件cef.pak将存在于Libs中
  4. 按F5->执行Bar->一切正常
  5. 使用F5再次执行->您将收到未找到文件异常
  6. 如果重复步骤1-5,您将收到相同的行为

    • 仅当Bar中没有任何更改并且某些内容(例如exe /其他进程/等)已删除文件时,问题才存在。

第二:我已经遇到了这个问题。当我的团队成员之一报告此问题时,那么他收到的答案是“不是错误,而是功能”。

据我所知,没有“魔术按钮”可以解决这个问题。

但是有几种解决方法:

  1. (如您所做的那样)添加构建前/构建后事件。我建议您在新的构建配置中执行此操作。

  2. 将Foo的生成输出文件夹更改为Bar输出文件夹。

  3. 在代码中添加if调试路径替换:

    #if DEBUG
                cefFilePath = <build output of foo>
    #endif
    
  4. 将文件作为嵌入式资源,然后将其提取。

  5. 创建扩展\外部程序来解决此问题。每个项目文件都保留有关这些文件的信息:

  <ItemGroup>
    <None Include="Libs\cef.pak">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
  </ItemGroup>

应用程序/插件将为您完成这项工作。

我可以提供更多的解决方案/解决方法,但是我相信您做对了-> build event。

编辑:

我在链接中更新了示例。现在,该解决方案包含3个解决方法示例。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Visual Studio:使用外部文件(不复制它们)

来自分类Dev

Visual Studio:使用外部文件(不复制它们)

来自分类Dev

Visual Studio 2012网站发布不复制.pdb文件

来自分类Dev

Visual Studio项目链接文件

来自分类Dev

从Visual Studio Team Services部署时在目标目录中复制一个文件

来自分类Dev

Visual Studio将项目文件夹复制到输出目录(WPF解决方案)

来自分类Dev

Ant仅复制文件而不复制目录

来自分类Dev

Visual Studio复制资源.cs文件

来自分类Dev

复制Visual Studio的文件扩展名

来自分类Dev

Visual Studio,TFS和文件系统链接

来自分类Dev

Visual Studio防止更改链接文件

来自分类Dev

Visual Studio工作目录

来自分类Dev

在Mac OS X上复制目录结构而不复制文件

来自分类Dev

使用Visual Studio的可复制构建-目标文件的区别

来自分类Dev

Visual Studio复制依赖项目

来自分类Dev

Visual Studio禁用特定目录中文件的警告

来自分类Dev

Visual Studio 2012-访问其他目录中的文件

来自分类Dev

在Visual Studio项目目录中找不到头文件

来自分类Dev

如何在Visual Studio 2012中链接.a文件?

来自分类Dev

如何从Visual Studio的项目中删除作为链接添加的文件?

来自分类Dev

为什么在链接包含文件时Visual Studio错误?

来自分类Dev

Microsoft Visual Studio CSS验证错误链接到错误的文件

来自分类Dev

Visual Studio项目目录问题

来自分类Dev

修复移动的Visual Studio目录

来自分类Dev

包括目录Visual Studio 2010

来自分类Dev

从网站(getElementsByClassName)的Visual Basic复制html链接?

来自分类Dev

Gulp使用基本目录时不复制文件

来自分类Dev

合并两个目录而不复制文件

来自分类Dev

Robocopy不复制子目录中的文件

Related 相关文章

热门标签

归档