<子类型>设计器</ Subtype>添加然后由Visual Studio在加载/卸载时删除

Jef*_*rom 171 designer csproj subtype visual-studio

有谁看过这个吗?我有一个大型的Visual Studio项目,在项目的下一次打开和关闭时不断添加[Subtype]Designer[/Subtype]到我的项目中.vcproj然后删除它.只定义了一个类StoredImageControl.cs.任何人都知道如何关闭它,因为它实际上搞乱了我的版本控制.

这是在之前:

<EmbeddedResource Include="StoredImageControl.resx">
  <DependentUpon>StoredImageControl.cs</DependentUpon>
</EmbeddedResource>
Run Code Online (Sandbox Code Playgroud)

这是在之后

<EmbeddedResource Include="StoredImageControl.resx">
  <DependentUpon>StoredImageControl.cs</DependentUpon>
  <SubType>Designer</SubType>
</EmbeddedResource>
Run Code Online (Sandbox Code Playgroud)

Nat*_*eed 95

这可能与您在保存的解决方案状态中打开的文件有关.我在VS2010中遇到了这个问题并发现如果我在编辑器中打开.xml文件时关闭解决方案,那么在随后重新打开解决方案时,包含该.xml文件的项目将<SubType>Designer</SubType>添加此行.但是,如果我在没有打开该文件的情况下关闭解决方案,则不会尝试在以下重新打开时添加该行.

  • 这仍然是MS的一个悬而未决的问题:http://connect.microsoft.com/VisualStudio/feedback/details/757970/subtype-aspxcodebehind-subtype-being-added-and-removed-in-csproj-file (9认同)
  • 这似乎是我的问题(VS 2010也).虽然Visual Studio会根据哪些文件打开而对文件进行自己的更改,这很烦人,特别是因为它们出现在源代码管理系统中.一定要喜欢微软的"功能"...... (7认同)
  • 这是VS2015,但仍然会发生这种情况. (4认同)
  • VS2017,仍然是一个问题。使使用源代码控制变得不可能,因为 VS 不断地零星地添加这些愚蠢的 `&lt;Subtype&gt;Designer&lt;/SubType&gt;` 标签。 (3认同)
  • 在VS2019(16.7.2)中仍然发生!开发案例列为已解决...也许这只是 .NET Core 项目 csproj 文件的“修复”? (2认同)

Joh*_*hnC 37

这至少是Visual Studio,2008年,2010年和2012年的3个版本中的一个问题.它被记录为Microsoft Connect中错误,但MS答案是"我们已经记录了您的请求但是没有计划在此处修复此问题时间." 建议你对错误报告进行投票,因为它仍处于活动状态,可能会得到更好的回复,并且有足够的投票权.

  • 2013年和2015年也有同样的问题. (23认同)
  • 是的,刚才在VS2015中第一次看到它. (4认同)
  • Microsoft Connect已被弃用,我在developercommunity上发布了一个新问题(https://developercommunity.visualstudio.com/content/problem/204355/subtype-designer-is-added-unnecessarily-to-xml-bas.html) .visualstudio.com.这是"正在考虑中",所以投票吧! (4认同)
  • 没有JohnC,这不是一个错误,它是一种刑事犯罪. (2认同)

Joh*_*hnB 8

我在ASP.NET Web应用程序的.csproj文件中遇到同样的问题:

<ItemGroup>
  <Content Include="site.master" />
  <Content Include="Web.config">
    <SubType>Designer</SubType>
  </Content>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

与:

<ItemGroup>
  <Content Include="site.master" />
  <Content Include="Web.config" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

我对这个问题的烦恼也是由于修订控制的变化.这个问题似乎出现在VS 2005/2008/2010中.在Microsoft论坛上发现了以下问题,但答案尚不清楚.

我希望VS设置会导致它,在这种情况下,当我发现该设置是什么时,我会希望你知道.


小智 6

您是否尝试将SubType作为EmbeddedResource对象的属性?

<EmbeddedResource Include="StoredImageControl.resx" SubType="Designer"> 
  <DependentUpon>StoredImageControl.cs</DependentUpon> 
</EmbeddedResource> 
Run Code Online (Sandbox Code Playgroud)

我在后面的链接中看到了像你这样的问题,他用这个解决了他的问题.

http://community.sharpdevelop.net/forums/t/9977.aspx


Iva*_*van 5

我发现这<SubType>Designer</SubType>改变了 Web.config 的行为。

我们使用WebDeploy来发布Web服务文件。

如果为 Web.config设置了子类型- 它会在所有内容文件和 .svc 所在的主目录下正确发布此文件。

如果未设置SubType - 它会执行上述操作,但还会将 Web.config 复制到 bin\ 子目录下 - 这很奇怪!在 MsBuild 日志中,这种情况发生在 CollectFilesFrom_SourceItemsToCopyToOutputDirectory 目标期间。