2010-10-07 30 views
8

Đây là vấn đề của tôi. Tôi có một tập tin nhất định từ giải pháp (giả sử Web.config) mà tôi đã thay đổi và sẽ không bao giờ muốn đăng ký vì các thay đổi chỉ đề cập đến máy của tôi. Có cách nào để nói trong TFS để bỏ qua những thay đổi trong một tập tin nhất định và loại bỏ nó từ cửa sổ thay đổi đang chờ xử lý. Tất nhiên, tôi có thể bỏ qua tệp này trong mọi lần đăng ký nhưng luôn có sự thay đổi để quên và đăng ký do nhầm lẫn. Ví dụ, có một danh sách bỏ qua tương tự trong AnkhSVN.Bỏ qua một số tập tin nhất định từ các thay đổi đang chờ xử lý

Trả lời

11

Một số phần của {app,web}.config tệp có thể được giao cho một tệp khác. Đáng chú ý là <connectionStrings>.

Trong app.config hoặc web.config của bạn:

<connectionStrings configSource="LocalConnectionStrings.config" /> 

trong LocalConnectionStrings.config có (<connectionStrings> là phần tử gốc):

<connectionStrings> 
    <!-- For the application's operations. --> 
    <add name="Application" 
     connectionString="Data Source=server;Initial Catalog=database;Integrated Security=True;Network Library=dbmssocn" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 

Như vậy mỗi nhà phát triển có một LocalConnectionStrings.config đó là trong dự án, nhưng không phải trong kiểm soát nguồn được đặt bằng cài đặt riêng của họ trong khi {web,app}.config có cài đặt chia sẻ. Thật không may, điều này chỉ hoạt động với một tập hợp hạn chế các phần tử cấu hình được hệ thống xác định.

+0

Điều này trông giống như một giải pháp có thể chấp nhận được. Cảm ơn. – anthares

1

Không có gì để bỏ qua, nhưng điều tốt nhất là sau khi đăng nhập, bạn có thể sử dụng đăng nhập dựa trên web hoặc một số máy khác mà bạn chưa ánh xạ cây mã nguồn của mình cây và studio trực quan sẽ không kiểm tra các tệp đó vào lần tiếp theo bạn sửa đổi chúng.

Bạn cũng có thể đặt tệp vào thư mục và sửa đổi tệp dự án trong trình chỉnh sửa xml để đưa tệp vào dự án của bạn, studio trực quan sẽ không thêm tệp vào điều khiển mã nguồn được thêm thủ công bằng cách chỉnh sửa xml tệp dự án.

+0

Tôi cũng đã xem xét biến thể này, nhưng tệp này phải nằm dưới sự kiểm soát nguồn . Không có cách nào để loại trừ nó, bởi vì điều này sẽ phá vỡ một số chức năng khác. – anthares

2

Đối với công việc của chúng tôi trong VS 2005/2008, chúng tôi đã bật nhiều lần thanh toán và chúng tôi không bao giờ kiểm tra trong web.config.

Vì những rắc rối khi cố gắng làm những điều thú vị để không có thứ gì đó được đăng ký, chúng tôi chưa bao giờ kiểm tra nó. Trong trường hợp kỳ lạ là một trong những tệp đó được đăng ký, thì đó là một cách nhanh chóng ".

Mặt khác, bạn có thể yêu cầu TFS loại trừ tệp khỏi điều khiển nguồn. Điều này sẽ cần phải tồn tại trên tất cả các máy tính vì các giải pháp/dự án vẫn sẽ tìm kiếm tệp đó.

http://arcware.net/2007/04/12/how-to-exclude-files-from-tfs-source-control/

Bạn cũng có thể chỉnh sửa file sln/dự án. Tôi đã thực hiện phương pháp này với các dự án thử nghiệm mà tôi không muốn phải sửa các bài kiểm tra của người khác chỉ để chạy thử nghiệm của riêng mình, vì vậy tôi đã xóa dự án thử nghiệm của mình khỏi TFS, trong khi vẫn giữ nguyên các dự án khác.

+1

Như tôi đã nói "Những người tôi say mê" không phù hợp với tôi (chính xác - tôi đang làm theo cách này ngay bây giờ, nhưng tôi tìm cách thuận tiện hơn). Việc loại trừ tệp khỏi kiểm soát nguồn cũng không phải là một tùy chọn. – anthares

+0

Liên kết đã chết. Không có trong archive.org. Đau đớn, [tác giả nói] (http://arcware.net/reboot/), "* Điều này có thể gây ngạc nhiên cho một số người, nhưng tất cả nội dung trước đây của tôi đã biến mất. Mọi thứ tôi đã viết trước đó, cả thập kỷ 2004 - 2014 , không còn tồn tại. Không có bài đăng, không có nhận xét, không có gì. * "Ai nói nội dung công khai trên web không thể chết? ; ^) – ruffin

1

Bạn đang sử dụng phiên bản studio nào?

Nếu bạn vào năm 2010, bạn có thể sử dụng chuyển đổi cấu hình web. Bằng cách đó bạn có thể có các tệp web.config khác nhau tùy thuộc vào môi trường. Ví dụ: phát triển, thử nghiệm, sản xuất ..

Nếu bạn vào năm 2008, chúng tôi thường có tệp web.config chính trỏ đến công cụ phát triển của chúng tôi và tệp web.production.config trỏ đến sản xuất. Trong quá trình triển khai, chúng tôi xóa web.config và đổi tên web.production.config.

+0

Tôi đang sử dụng năm 2010 nhưng những thay đổi là máy cụ thể không phải là môi trường cụ thể. Ví dụ cho môi trường dev web.config của dev là khác nhau cho tất cả mọi người trong các đồng nghiệp của tôi. – anthares

+1

@anthares: Tôi đoán mỗi bạn đang chạy máy chủ sql cục bộ của riêng mình? Bạn có thể xây dựng trên ý tưởng chuyển đổi và chỉ cần thêm một cấu hình cho mỗi dev .. Hoặc, chỉ cần làm việc tắt các thiết lập tương tự. Cá nhân, có xử lý các vấn đề trong cả hai loại môi trường tôi thích một cách tiếp cận máy chủ SQL phổ biến ... Có vẻ như ít rắc rối. – NotMe

4

Các thực hành tốt nhất liên quan đến các file cấu hình, TFS và máy nhà phát triển khác nhau là (hem hem) ...

Tất cả các nhà phát triển của bạn nên có cùng một môi trường dev. Đó là cách duy nhất để quản lý file web.config trong TFS, và nó có rất nhiều lợi ích gia tăng:

  • nomore "nhưng nó hoạt động trên máy tính của tôi"

  • người bạn của mình sợ hãi "Tôi don 't hiểu những gì phụ thuộc được yêu cầu. Nó không biên dịch nữa. "

  • Bạn sẽ không hối tiếc nổi tiếng "Ah! Tôi quên nói với bạn, tôi đã phát minh ra một MyWonderfullApplicationConfigSection và bạn nên xác định nó trong web.config của bạn, nhưng tôi sẽ không cho bạn biết làm thế nào."

  • Nó thực sự sẽ giúp thiết lập một môi trường xây dựng hoặc triển khai.

Ok, nó không phải là thực sự dễ dàng, tôi biết rằng các nhà phát triển khác nhau như cài đặt khác nhau ... nhưng đó là một tốt ý tưởng để chuẩn hóa nền tảng dev nó thực sự có giá trị nó

+0

-1 ý tưởng tồi. Điều gì xảy ra nếu bạn có kiến ​​trúc nhiều tầng sử dụng cấu hình web để tìm ra các điểm kết thúc wsdl? những gì về email lỗi? những gì về devs không thích hàng loạt biên dịch? Tiêu chuẩn hóa cấu hình web dev không khả thi trong nhiều trường hợp. –

+1

Tôi đã nói không phải lúc nào cũng dễ thực hiện. Tuy nhiên, bạn nên lưu ý rằng nếu bạn có một nền tảng dev chuẩn hóa, các điểm cuối wsdl không còn là vấn đề nữa (chúng trở thành tiêu chuẩn hóa) Và nếu chúng không ... bạn sẽ có vấn đề. Tôi không thấy điểm lỗi của email trên nền tảng nhà phát triển. Chỉ bật chúng trên sản xuất. Nếu dev khác nhau cần cấu hình biên dịch khác nhau, nó là tốt: Cấu hình biên dịch tồn tại chính xác cho điều đó. Hãy coi chừng tuy nhiên những thay đổi không được chú ý về phụ thuộc từ các nhà phát triển khác. – Eilistraee

+0

Trong khi đó là sự thật chúng ta có thể tranh luận về tất cả những điểm này, họ không làm cho có thể trả lời ít thích hợp hơn trong bất kỳ cách nào ... Tiêu chuẩn hóa nền tảng phát triển web có rất nhiều lợi ích. Và nó có thể đi xa như sử dụng một phổ biến thường xuyên cập nhật VHD – Eilistraee

6

Một workaround có thể để loại bỏ các thuộc tính chỉ đọc trên web.config trong windows explorer sau đó chỉnh sửa nó bằng notepad:..

  • Nó sẽ không xuất hiện trong cấp phát thay đổi
  • Nó vẫn còn trong nguồn kiểm soát

Ugly nhưng đơn giản giải pháp.

+0

Bạn có thể chỉnh sửa trong VS mà không cần thanh toán nếu bạn chọn Cho phép chỉnh sửa ... trong Công cụ | Tùy chọn | Chung | Các tài liệu. – Richard

+0

+1 Tôi đã kết thúc việc này. Hoạt động tốt. –

+1

Lưu ý mẹo này KHÔNG hoạt động với "Không gian làm việc cục bộ" trong TFS 2012+. –

2

Bạn có thể sao chép các tệp bạn không muốn đăng ký, hoàn tác kiểm tra và thay thế chúng bằng bản sao. Kể từ khi thay đổi được thực hiện từ bên ngoài VS, nó sẽ không được kiểm tra, do đó, nó sẽ không có trong danh sách Thay đổi đang chờ xử lý.

(Tôi biết đây là câu hỏi cũ, nhưng tôi chắc chắn ai đó đang tìm cách để làm điều này có thể sử dụng câu trả lời này)

Các vấn đề liên quan