<Subtype> Designer </ Subtype>已添加,然后在加载/卸载时由Visual Studio删除


177

有人看过吗?我有一个很大的Visual Studio项目,该项目不断添加[Subtype]Designer[/Subtype]到我的项目中,.vcproj然后在下一次打开和关闭项目时将其删除。中仅定义了一个类StoredImageControl.cs。任何人都知道如何关闭它,因为它确实弄乱了我的修订控制。

这是之前:

<EmbeddedResource Include="StoredImageControl.resx">
  <DependentUpon>StoredImageControl.cs</DependentUpon>
</EmbeddedResource>

这是之后

<EmbeddedResource Include="StoredImageControl.resx">
  <DependentUpon>StoredImageControl.cs</DependentUpon>
  <SubType>Designer</SubType>
</EmbeddedResource>

在VS 2005中,与<SubType> UserControl </ SubType>看到的东西相同。非常奇怪。
David Gardiner 2010年

1
我也在VS 2008中看到了这个问题
schoetbi,2010年

1
在VS 2010中遇到了这种情况。也感到困惑。
乔恩·戴维斯

VS 2008一直在发生同样的事情。我试图通过在结帐后不久(即在开始进行任何实际工作之前)恢复原状来减少其对源代码控制的影响……但这是一种浪费,我常常忘记这样做。您是否尝试通过connect.microsoft.com报告它?
艾伦(Alan)2010年

2
为什么在C / C ++项目中有C#源代码文件?
汉斯·帕桑

Answers:


95

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


8
这似乎对我来说是个问题(也是VS 2010)。尽管令人讨厌的是,Visual Studio会根据打开的文件来对文件进行自己的更改,尤其是因为它们显示在源代码控制系统中。一定喜欢微软的“功能” ...
Ben Sutton 2012年

10
这仍然是一个悬而未决的问题与MS:connect.microsoft.com/VisualStudio/feedback/details/757970/...

4
它是VS2015,但仍然会发生。
Johnny_D

2
VS2017,仍然是一个问题。使得无法使用源代码控制,因为VS会不断<Subtype>Designer</SubType>地偶尔添加这些愚蠢的标签。
Triynko

1
他们杀死了connect,但是developercommunity.visualstudio.com/content/problem/204355/…表示至少在VS2019 Preview 2中得到了解决
乔什·萨特菲尔德

38

在至少3个版本的Visual Studio,2008、2010和现在的2012中,这已经成为一个问题。它在Microsoft Connect中被记录为错误,但是MS的回答是“我们已经记录了您的请求,但不打算在此解决此问题。时间。” 建议您对该错误报告进行投票,因为该报告仍处于活动状态,并且如果投票足够,可能会得到MS更好的响应。


25
2013年和现在的2015年都有相同的问题。
James Skemp

4
是的,刚刚在VS2015中第一次看到它。
JohnC 2015年

2
没有JohnC,这不是错误,而是刑事犯罪。
帕特里克·弗洛伯格

4
不建议使用Microsoft Connect,我在developercommunity.visualstudio.com上打开了一个新期刊。这是“正在考虑中”,请投票!
enzi

“我们已解决此问题,Visual Studio 2019 Preview 2中提供了此问题。感谢您的反馈!” -根据开发社区问题的解决方案。
乔什·萨特菲尔德

8

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

<ItemGroup>
  <Content Include="site.master" />
  <Content Include="Web.config">
    <SubType>Designer</SubType>
  </Content>
</ItemGroup>

与:

<ItemGroup>
  <Content Include="site.master" />
  <Content Include="Web.config" />
</ItemGroup>

我对此问题的不满也是由于版本控制更改。VS 2005/2008/2010中似乎存在此问题。在Microsoft论坛上找到了以下问题,但答案尚不清楚。

我希望由VS设置引起这种情况,在这种情况下,当我知道该设置是什么时,我会希望您知道。


1
与2013年相比,这个问题也很紧迫。
2014年

这只是Visual Studio修改文件时的另一个示例。一天,Microsoft最终将意识到,用户应该负责,并且在没有用户的情况下随意更改文件,永远不要发生
滑雪

7

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

<EmbeddedResource Include="StoredImageControl.resx" SubType="Designer"> 
  <DependentUpon>StoredImageControl.cs</DependentUpon> 
</EmbeddedResource> 

我在以下链接中看到了类似您的问题,他为此解决了问题:

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


1
使用SubType属性技巧无法在<Content>元素上使用:VS2010抱怨无法识别该属性。
皮埃尔·阿尔诺

3

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

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

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

如果未设置 SubType-上面已经设置了,但是还会在bin \子目录下复制Web.config-这很奇怪!在MsBuild日志中,这发生在CollectFilesFrom_SourceItemsToCopyToOutputDirectory目标期间。


0

对我来说,这也会在向项目中添加新文件时引起版本控制问题。

作为一种变通方法,我做了以下工作:撤消对项目文件的未决更改,然后通过右键单击->将现有文件添加到项目中来手动添加新文件。

这样做时,标签< SubType >Designer< /SubType >不会出现。

希望这会帮助某人。因此发布此。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.