创建Visual Studio 2012 Resources1.Designer.vb而不是更新Resources.Designer.vb

时间:2013-10-22 20:50:34

标签: visual-studio-2012 visual-studio-2013

所以标题基本上解释了这一切。每当我尝试导入资源时,Visual Studio都会创建一个Resources1.Designer.vb文件,而不是将新的资源属性添加到R​​esources.Designer.vb。

我找到了一个临时解决方案:打开Resources1.Designer.vb,搜索属性,将属性复制/粘贴到Resources.Designer.vb中,然后删除Resources1.Designer.vb。

这个解决方案非常耗时。有没有其他人经历过这个,或者有没有人知道真正的/真正的解决方案?我在这里搜索过谷歌和MSDN。 MSDN有一篇来自VS 2010的文章,但没有提出真正的解决方案。

所以要澄清一下,随时通过导入资源的任何方法发生这种情况。 Project,Properties,Add Existing,... SelectedControl,Properties Pane,Image,Import Project Resource,或双击My Project,Resources.resx,然后Add Existing。

4 个答案:

答案 0 :(得分:13)

在文本编辑器中手动编辑vbproj(csproj) - 删除数字 1

<LastGenOutput>Resources1.Designer.vb</LastGenOutput>

答案 1 :(得分:2)

  1. 打开MyProject \文件夹,您将看到两个文件:Resource.Designer.vb(我使用的是vb.net)和Resource1.Designer.vb。删除后者。

  2. 返回上一级,使用文本编辑器打开应用程序项目文件:xxx.vbproj,搜索“资源”&#39;关键字,你会看到两个&#39;编译&#39;资源和资源1的标签。评论第二部分,如下:

    <Compile Include="My Project\Resources.Designer.vb">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Resources.resx</DependentUpon>
    </Compile>
    <!-- <Compile Include="My Project\Resources1.Designer.vb">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Resources.resx</DependentUpon>
    </Compile> -->
    
    1. 保存并重建解决方案。

答案 2 :(得分:0)

虽然我没有问题的答案,但我的解决方法是在比较工具中打开这两个文件(例如 WinMerge )并分析差异并相应地选择我需要的文件。是否可以轻松地将代码从一个文件移动到另一个文件,然后您可以安全地从项目中删除/删除新创建的Resource1文件。

答案 3 :(得分:0)

Joe Wu和Michal Minich的另外两个答案部分正确,但我发现你需要做更多的事来解决这个问题。

如果您编辑项目文件以将Resources1更改为Resources,您的proj文件中的两个引用最终会导致完全相同的资源文件Resources,那么很有可能,这仍然会给你带来一些问题。

因此,只需删除项目文件中对Resources1的所有引用,并删除Resources1文件。这解决了我的问题,并且每当我向资源添加内容时,都不会导致Resources1文件继续出现。