18

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

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

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

所以澄清一下,这可以通过任何导入资源的方法随时发生。项目,属性,添加现有,... SelectedControl,属性窗格,图像,导入项目资源,或双击我的项目,Resources.resx,然后添加现有。

4

4 回答 4

18

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

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

于 2016-02-29T10:08:51.973 回答
3
  1. 打开MyProject\folder,你会看到两个文件:Resource.Designer.vb(我用的是vb.net)和Resource1.Designer.vb。删除后者。

  2. 上一层,打开应用程序项目文件:xxx.vbproj 使用文本编辑器,搜索'Resources'关键字,你会看到Resource和Resource1两个'Compile'标签。注释掉第二部分,像这样:

    <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. 保存并重建解决方案。
于 2016-03-28T22:13:17.597 回答
0

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

于 2015-02-18T09:17:41.807 回答
0

Joe Wu 和 Michal Minich 的其他两个答案部分正确,但我发现您需要做更多的工作来解决这个问题。

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

所以只需删除项目文件中对Resources1的所有引用,并删除Resources1文件。这为我解决了这个问题,并且不会导致Resources1文件在我向资源中添加内容时不断重新出现。

于 2016-09-21T13:43:59.633 回答