强制Visual Studio重建嵌入式资源

时间:2012-01-03 17:01:14

标签: c# visual-studio-2010 msbuild

我们的解决方案中有一个嵌入资源的SQL文件。当sql文件发生更改并且我们单击debug时,如果没有更改实际的C#代码,则解决方案不会使用嵌入式资源重建项目。

我已经遇到过其他解决方案的这个问题,只要我记得,而且我个人知道要做Build Solution以确保它已经构建......但这已经成为许多新开发人员的问题不记得这样做,当他们对SQL文件的更改没有在调试时反映出来时感到困惑......所以我想知道是否有人知道一个简单的修复。

3 个答案:

答案 0 :(得分:3)

最简单的解决方法是“重建”而不是“构建”。其他人会“清理”然后“建立”以100%确定。

除非输出DLL被截断,否则调试DLL中不会更新嵌入式资源,只能通过重建和清理来保证输出。

答案 1 :(得分:0)

不幸的是,干净和重建似乎并不总是适用于资源文件。我的问题是使用字符串资源文件,我在VS2016中如何修复如下:

  1. 如果它们在IDE中打开,请关闭.resx和.Designer.cs
  2. 删除.Designer.cs类(右键单击,在解决方案资源管理器中删除)
  3. 双击解决方案资源管理器中的.resx文件以打开
  4. 如果需要,请将“访问修饰符”从“公共”更改为“无代码生成”,然后保存
  5. 将“无代码生成”中的“访问修饰符”更改为“公共”,然后保存 =>然后应该更新.Designer.cs代码

答案 2 :(得分:0)

我遇到了与VS2017相同的问题。

这对我有用:

  1. 打开.resx文件。确保您位于资源编辑器中,不要使用XML编辑器,因为有时进行的更改不会触发 Designer.cs 的生成
  2. 确保 Designer.cs 未打开。
  3. 做一个小改动,保存
  4. 撤消更改,保存