Tôi có nên thêm thư mục Visual Studio 2015 .vs vào kiểm soát nguồn không?


321

Visual Studio 2015 tạo một thư mục mới gọi là ".vs". Mục đích của nó là gì và tôi có nên thêm nó vào kiểm soát nguồn không?



2
@MichaelFreidgeim: Không chắc chắn, câu hỏi khác hỏi về một tệp cụ thể và đây là về toàn bộ thư mục. Nhưng nó xảy ra rằng một số câu trả lời rộng hơn phù hợp với cả hai.
SoftwareFactor

Câu trả lời:


338

Không, bạn không nên thêm nó vào kiểm soát nguồn. Mục đích của thư mục này là để di chuyển các tệp cụ thể của máy và người dùng đến một vị trí trung tâm. Giải thích về vấn đề Visual Studio User Voice giải thích rõ về nó:

Cho đến nay, chúng tôi đã chuyển tệp .SUO và trình biên dịch VB / C # tệp cơ sở dữ liệu IntelliSense sang vị trí mới. Tất cả các tệp cục bộ cụ thể của dự án mới cũng sẽ được thêm vào vị trí mới. Chúng tôi dự định sẽ làm điều này hơn nữa trong các bản phát hành trong tương lai và đang nghiên cứu cách cải thiện cấu trúc thư mục của đầu ra xây dựng và các tệp hiện có khác có thể làm lộn xộn cây nguồn.

Đây là tất cả các tệp mà bạn sẽ không bao giờ đăng nhập, vì chúng được tạo từ bản dựng hoặc chứa thông tin cụ thể của máy.


23
Đó là một kiểu đột quỵ rộng để nói rằng đừng kiểm tra toàn bộ thư mục. Nếu trang web của bạn yêu cầu cấu hình IIS Express cụ thể (như sử dụng tên máy chủ để cookie hoạt động), hãy kiểm tra applicationhost.configtrợ giúp các nhà phát triển khác trong việc thiết lập môi trường của họ, nếu không, mỗi người phải tự làm điều đó và họ có thể tìm ra cách khó khăn .
Ông trùm

3
@Mrchief Tôi không phải là nhà phát triển IIS, nhưng tôi tin rằng câu trả lời này giải quyết điều đó.
Patrick Quirk

2
Câu trả lời đó thực sự không phải là một giải pháp, hơn nữa là một cách giải quyết (mà chính câu trả lời ám chỉ). Những gì tôi đã cố gắng nói là một câu trả lời nhị phân có thể không đủ cho tất cả mọi người. Tùy thuộc vào thiết lập của bạn, bạn có thể phải loại trừ thư mục nhưng sau đó thêm một ngoại lệ cho applicationhost.configtệp hoặc một cái gì đó đối với hiệu ứng đó.
Ông trùm

3
@Mrchief: Thật ra đó không phải là cách giải quyết, đây là giải pháp tốt nhất. Tôi không nghĩ bạn nên kiểm tra thư mục .vs, nó không có ý định.
DR

6
Như câu trả lời được trích dẫn của lugberk nói: "không có cách nào để nói với các dự án ASP.NET 5 tìm kiếm điều này ngày hôm nay". Do đó, tôi không thấy bất kỳ tùy chọn nào khác để chia sẻ các cài đặt cấu hình IIS Express đó giữa các dự án ASP.NET 5 so với kiểm tra trong tệp applicationationhost.config trong .vs. Hoặc bạn có thấy giải pháp nào khác / tốt hơn không?
Gustin

86

Github cung cấp rất nhiều mẫu .gitignore. Trong mẫu của họ cho phòng thu trực quan, họ đã bỏ qua thư mục .vs. Đoạn trích từ mẫu trên github .

# Visual Studio 2015 cache/options directory
.vs/

3
Điều đó có thể giúp ai đó quyết định (một cách lười biếng), nhưng không đưa ra lời khuyên mạnh mẽ hoặc bất kỳ lý do nào để làm như vậy. Tiêu đề ("thư mục tùy chọn / bộ nhớ cache của Visual Studio 2015") giúp quyết định nhiều hơn.
Mohammad Deh Afghanistan

Ngẫu nhiên, cùng một dòng áp dụng cho .hgignore
Charles Burns

23

Như được mô tả trong trích dẫn lấy từ uservoice trong câu trả lời của Patrick, thư mục không dành cho kiểm soát nguồn.

Tuy nhiên, giống như các bình luận cũng chỉ ra, có thể có một số trường hợp bạn muốn bao gồm các tệp cụ thể từ thư mục.

Tôi sẽ thêm cái này vào .gitignore:

.vs/

Và sau đó sử dụng bất kỳ công cụ git nào bạn muốn để thêm các tệp nhất định như cấu hình được chia sẻ của applicationationhost.config nếu cần.

Hoặc sử dụng lệnh git như thế này:

git add -f .vs/config/applicationhost.config

Cách này git thêm tệp, ngay cả khi nó bị bỏ qua.


3
Tôi muốn thêm rằng nếu bạn đang sử dụng TFS, bạn có thể sử dụng tiền tố phủ định trong tệp .tfignore của mình để "bao gồm lại" một tệp applicationationhost.config sau khi loại trừ thư mục .vs. Tệp .tfignore mặc định giải thích như sau: "Tiền tố! Phủ nhận một mẫu. Điều này có thể được sử dụng để bao gồm lại một mục sau khi nó bị loại trừ bởi tệp .tfignore cao hơn trong cây hoặc bởi các loại trừ toàn cầu của Bộ sưu tập dự án nhóm danh sách."
Aaron
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.