Visual studio 2013 Visual Studio resx编辑器创建重复的设计器文件

Visual studio 2013 Visual Studio resx编辑器创建重复的设计器文件,visual-studio-2013,resx,Visual Studio 2013,Resx,在我当前的项目中,每当我添加、更新或删除资源时,该工具都会创建一个设计器文件的副本,这会把事情搞砸。我在其他项目中看不到这种行为,据我所知,我正在以同样的方式实现资源。有人能解释一下这种行为吗?谢谢不幸的是,我不知道这是什么原因造成的,但在浪费了一段时间后,我找到了一份似乎对我来说没有问题的工作 我只是删除了设计器文件并重新构建了我的项目。这会自动重新创建设计器文件,一切正常 唯一明显的区别是设计器文件的末尾现在有一个1 例如String.resx->Strings1.Designer.cs 我

在我当前的项目中,每当我添加、更新或删除资源时,该工具都会创建一个设计器文件的副本,这会把事情搞砸。我在其他项目中看不到这种行为,据我所知,我正在以同样的方式实现资源。有人能解释一下这种行为吗?谢谢

不幸的是,我不知道这是什么原因造成的,但在浪费了一段时间后,我找到了一份似乎对我来说没有问题的工作

我只是删除了设计器文件并重新构建了我的项目。这会自动重新创建设计器文件,一切正常

唯一明显的区别是设计器文件的末尾现在有一个1

例如String.resx->Strings1.Designer.cs

我过去一直在对该文件进行断断续续的更改,没有任何问题。如果有人能解释是什么导致它进入这种损坏状态,请与我们分享。

打开项目文件(使用不同的编辑器,如记事本、记事本++等),然后查找以下内容:

<Compile Include="YourResourceFilename1.Designer.cs">
  <AutoGen>True</AutoGen>
  <DesignTime>True</DesignTime>
  <DependentUpon>YourResourceFilename.resx</DependentUpon>
</Compile>

真的
真的
YourResourceFilename.resx
将其更改为
,然后保存文件,然后生成项目。您可能还需要删除文件YourResourceFilename1.Designer.cs。 此外,可能值得在该文件中搜索任何进一步出现的YourResourceFilename1。
祝你好运!:)

Visual studio 2017

对重复设计器文件的引用位于csproj文件中

  • 关闭解决方案
  • 编辑您的项目.csproj
  • 找到LastGenOutput标记
  • 删除设计器文件上的“1”
现在可以重新加载解决方案。 如果要重新生成设计器文件:

  • 删除它
  • 编辑resx文件并保存 将重新创建新的设计器文件

这与我使用的方法基本相同。显然,如果我们用resx更新破坏了解决方案,那么就必须删除设计器文件并重新运行自定义工具,这对我们来说是一个恼人的问题。已经有一段时间没有在项目的这方面工作了,但我认为它并不是在每次更新中都会发生,也没有明显的模式。我想知道这是否是VS版的问题(我在2013 Pro上)