2013-10-22 40 views
13

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

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

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

因此要澄清,这发生随时任何方法导入资源。项目,属性,添加现有,...选择控制,属性窗格,图像,导入项目资源,或双击我的项目,Resources.resx,然后添加现有。

+0

我想你是不小心将一个.resx文件添加到你的项目。您的项目也有普通的“Resources.resx”文件,但IDE隐藏它。单击“解决方案资源管理器”窗口工具栏中的“显示所有文件”图标,以查看所有内容Resources.resx位于我的项目节点下。如果你看到另一个.resx文件,那么你应该考虑删除它。 –

+3

您也可以编辑vbproj文件,以纠正文件名,如果它打扰你。 – StingyJack

+0

显示已打开的所有文件。只有.resx是Resources.resx。展开显示了Resources.Designer.vb。当我添加一个资源时,它会创建Resources1.resx – Aaron

回答

9

编辑vbproj(的csproj)manualy在文本编辑器 - 删除数

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

+0

对不起,花了这么长的upvote/mark。当时我并不是非常活跃,这只是弹出对OP的赞成票,我注意到我没有选择一个。我的错。 – Aaron

0

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

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

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

    <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> --> 
    
  • 保存并重建溶液。
  • 0

    其他两个答案由Joe Wu和米哈尔米尼奇是部分正确的,但我发现,你需要做更多的解决这个问题。如果您编辑凸出文件,以更改Resources1只是Resources你会在你的凸出文件完全相同的资源文件的两个引用,Resources,这将仍然会造成你一些问题,最终

    机会是很好的。

    因此,只需删除项目文件中对Resources1的所有引用,然后删除Resources1文件即可。这为我解决了这个问题,并且不会导致Resources1文件在我添加资源时继续重新出现。

    相关问题