<Subtype> Designer </ Subtype> Đã thêm rồi xóa bởi Visual Studio khi tải / hủy tải


177

Có ai thấy điều này trước đây không? Tôi có một dự án Visual Studio lớn tiếp tục thêm [Subtype]Designer[/Subtype]vào .vcprojsau đó loại bỏ nó trong lần mở và đóng tiếp theo của dự án. Chỉ có một lớp được định nghĩa trong StoredImageControl.cs. Bất cứ ai cũng biết cách tắt cái này vì nó thực sự làm rối tung kiểm soát sửa đổi của tôi.

Đây là trước:

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

Đây là sau

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

Thấy điều tương tự với <SubType> UserControl </ SubType> trong VS 2005. Rất lạ.
David Gardiner

1
Tôi cũng thấy vấn đề này trong VS 2008
schoetbi

1
Chạy vào đây trong VS 2010. Cũng bối rối.
Jon Davis

Điều tương tự xảy ra với tôi trong VS 2008 mọi lúc. Tôi cố gắng giảm tác động kiểm soát nguồn của nó bằng cách hoàn nguyên ngay sau khi thanh toán, ngay trước khi bắt đầu thực hiện bất kỳ công việc thực tế nào ... nhưng đó là một loại bùn và tôi thường quên làm điều đó. Bạn đã thử báo cáo nó qua connect.microsoft.com chưa?
Alan

2
Tại sao bạn có tệp mã nguồn C # trong dự án C / C ++?
Hans Passant

Câu trả lời:


95

Điều này có thể liên quan đến những tập tin bạn đã mở trong trạng thái giải pháp đã lưu. Tôi đã gặp vấn đề này trong VS2010 và thấy rằng nếu tôi đóng giải pháp trong khi tệp .xml được mở trong trình chỉnh sửa, thì trong lần mở lại giải pháp tiếp theo, dự án chứa tệp .xml đó sẽ được <SubType>Designer</SubType>thêm dòng này . Tuy nhiên, nếu tôi đóng giải pháp mà không mở tệp đó, thì nó không cố thêm dòng đó vào lần mở lại sau.


8
Đó dường như là vấn đề đối với tôi (VS 2010 cũng vậy). Mặc dù vậy, Visual Studio sẽ tự thay đổi các tệp của bạn dựa trên những tệp nào đang mở, đặc biệt là khi chúng hiển thị trong hệ thống kiểm soát nguồn của bạn. Gotta yêu "tính năng" của Microsoft ...
Ben Sutton

10
Đây vẫn là một vấn đề mở với MS: connect.microsoft.com/VisualStudio/feedback/details/757970/ ám
Pat

4
Đó là VS2015, nhưng điều này vẫn xảy ra.
Johnny_D

2
VS2017, vẫn là một vấn đề. Làm cho việc sử dụng kiểm soát nguồn là không thể, bởi vì VS liên tục thêm các <Subtype>Designer</SubType>thẻ ngu ngốc này một cách rời rạc.
Triynko

1
Họ giết connect nhưng developercommunity.visualstudio.com/content/problem/204355/... nói nó giải quyết ít nhất là cho VS2019 Preview 2
Josh Sutterfield

38

Đây là sự cố trong ít nhất 3 phiên bản Visual Studio, 2008, 2010 và bây giờ 2012. Nó được ghi là lỗi trong Microsoft Connect nhưng câu trả lời của MS là "Chúng tôi đã ghi lại yêu cầu của bạn nhưng không có kế hoạch sửa lỗi này. thời gian." Đề nghị bạn bỏ phiếu báo cáo lỗi vì nó vẫn đang hoạt động và có thể nhận được phản hồi tốt hơn từ MS với đủ số phiếu bầu.


25
2013 và nay 2015 có cùng một vấn đề.
James Skemp

4
Yup, đã thấy nó lần đầu tiên trong VS2015 ngay bây giờ.
JohnC

2
Không có JohnC, nó không phải là một lỗi, nó là một tội hình sự.
Patrick Fromberg

4
Microsoft Connect đã không được chấp nhận, tôi đã mở một vấn đề mới trên Developercommunity.visualstudio.com. Đó là "Đang cân nhắc", vì vậy hãy bỏ phiếu!
enzi

"Chúng tôi đã khắc phục sự cố này và nó có sẵn trong Visual Studio 2019 Preview 2 Cảm ơn bạn đã phản hồi!" - theo một giải pháp về vấn đề lệch lạc.
Josh Sutterfield

8

Tôi gặp phải vấn đề tương tự trong tệp .csproj của ứng dụng web ASP.NET của tôi:

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

Đấu với:

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

Sự khó chịu của tôi với vấn đề này là do thay đổi kiểm soát sửa đổi là tốt. Vấn đề dường như có mặt trong VS 2005/2008/2010. Đã tìm thấy câu hỏi sau đây trên các diễn đàn của Microsoft, nhưng câu trả lời không rõ ràng.

Tôi hy vọng rằng một cài đặt VS gây ra nó, trong trường hợp đó, tôi sẽ muốn bạn biết khi tôi tìm ra cài đặt đó là gì.


1
Vấn đề là áp lực trong năm 2013 là tốt.
Johan

Chỉ là một ví dụ khác về các tệp sửa đổi Visual Studio khi nó cảm thấy như thế. Một ngày nào đó Microsoft cuối cùng sẽ nhận ra rằng người dùng sẽ chịu trách nhiệm và thay đổi ngẫu nhiên các tệp mà không cần người dùng OK KHÔNG BAO GIỜ xảy ra
goneskiing

7

Bạn có thử đặt SubType làm thuộc tính của đối tượng EmbeddedResource không?

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

Tôi thấy một câu hỏi giống như của bạn trong liên kết sau và anh ấy đã giải quyết vấn đề của mình bằng cách này:

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


1
Sử dụng SubTypethủ thuật thuộc tính không hoạt động trên <Content>các phần tử: VS2010 phàn nàn rằng thuộc tính không được nhận dạng.
Pierre Arnaud

3

Tôi thấy rằng <SubType>Designer</SubType>thay đổi hành vi cho Web.config.

Chúng tôi sử dụng WebDeploy để xuất bản các tệp dịch vụ web.

Nếu SubType được đặt cho Web.config - nó sẽ xuất bản tệp này chính xác trong thư mục chính nơi tất cả các tệp nội dung đi và .svc.

Nếu SubType không được đặt - nó sẽ ở trên mà còn sao chép Web.config trong bin \ thư mục con - điều này rất lạ! Trong nhật ký MsBuild, điều này xảy ra trong mục tiêu CollectionFilesFrom_SourceItemsToCopyToOutputDirectory.


0

Đối với tôi điều này cũng gây ra vấn đề với kiểm soát phiên bản khi thêm tệp mới vào dự án.

Như một công việc xung quanh tôi đã làm: hoàn tác các thay đổi đang chờ xử lý cho tệp dự án và sau đó thêm các tệp mới theo cách thủ công bằng cách nhấp chuột phải -> thêm các tệp hiện có vào dự án.

Trong khi làm điều này, thẻ < SubType >Designer< /SubType >không đến.

Hy vọng điều này sẽ giúp được ai đó. Do đó đăng bài này.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.