Làm cách nào để đổi tên thư mục dự án từ trong Visual Studio?


686

Giải pháp hiện tại của tôi để đổi tên thư mục dự án là:

  • Loại bỏ dự án khỏi giải pháp.
  • Đổi tên thư mục bên ngoài Visual Studio.
  • Thêm lại dự án vào giải pháp.

Có cách nào tốt hơn?


4
Không có cách đơn giản, một cú nhấp chuột để làm điều đó. Không phải từ bên trong Visual Studio, dù sao đi nữa.
Matt Hanson

11
Có ai biết nếu Microsoft sẽ sửa lỗi này cho phiên bản 2010 không?
Vidar

29
Rõ ràng là không, vì đó là 3 năm sau và tôi phải trải qua quá trình của andersjanmyr. :)
sichinumi

4
Yêu cầu tính năng phòng thu hình ảnh: visualstudio.uservoice.com/forums/121579-visual-studio/ cho đi và bỏ phiếu!
Tim Abell

2
Rõ ràng việc bỏ phiếu thất bại vì tính năng vẫn không được hỗ trợ trong năm 2018. Cần bao nhiêu gigabyte để không thay đổi một tệp? 17gbs rõ ràng. 17.
Joseph Franciscus

Câu trả lời:


746

Người dùng TFS: Nếu bạn đang sử dụng kiểm soát nguồn yêu cầu bạn phải cảnh báo nó trước khi đổi tên tệp / thư mục thì hãy xem câu trả lời này thay vào đó bao gồm các bước bổ sung cần thiết.


Để đổi tên thư mục của dự án , tệp ( .*proj) và tên hiển thị trong Visual Studio:

  • Đóng giải pháp.
  • Đổi tên (các) thư mục bên ngoài Visual Studio. (Đổi tên trong TFS nếu sử dụng kiểm soát nguồn)
  • Mở giải pháp, bỏ qua các cảnh báo (trả lời "không" nếu được yêu cầu tải dự án từ kiểm soát nguồn).
  • Đi qua tất cả những thứ không có dự án và ...
    • Mở cửa sổ thuộc tính cho dự án (tô sáng dự án và nhấn Alt+ Enterhoặc F4, hoặc nhấp chuột phải> thuộc tính).
    • Đặt thuộc tính ' Đường dẫn tệp ' đến vị trí mới.
      • Nếu thuộc tính không thể chỉnh sửa (như trong Visual Studio 2012), thì hãy mở .slntệp trực tiếp trong một trình soạn thảo khác như Notepad ++ và cập nhật các đường dẫn ở đó. (Bạn có thể cần kiểm tra giải pháp trước trong TFS, v.v.)
    • Tải lại dự án - nhấp chuột phải> tải lại dự án.
    • Thay đổi tên hiển thị của dự án, bằng cách tô sáng nó và nhấn F2hoặc nhấp chuột phải> đổi tên .

Ghi chú: Các giải pháp được đề xuất khác liên quan đến việc loại bỏ và sau đó thêm lại dự án vào giải pháp sẽ phá vỡ các tham chiếu dự án.

Nếu bạn thực hiện các bước này thì bạn cũng có thể xem xét đổi tên sau đây cho phù hợp:

  1. hội,, tổ hợp
  2. Không gian tên gốc / mặc định
  3. Không gian tên của các tệp hiện có (sử dụng các công cụ tái cấu trúc trong Visual Studio hoặc công cụ không gian tên không nhất quán của ReSharper )

Cũng xem xét sửa đổi các giá trị của các thuộc tính lắp ráp sau :

  1. AssemblyProductAttribute
  2. AssemblyDescriptionAttribute
  3. AssemblyTitleAttribute

24
Đối với những người sử dụng kiểm soát nguồn, tôi nghĩ bạn cũng cần đổi tên thư mục trong kiểm soát nguồn. Đối với tôi, các bước trên đã không làm như vậy.
Patrick Szalapski

10
Khi sử dụng TFS, bước 2 thực sự là đổi tên thư mục trong kiểm soát nguồn và sau đó lấy bản mới nhất trước khi mở lại sln.
Amy Patterson

3
Thuộc tính Đường dẫn tệp có thể chỉnh sửa trong VS2010 sau khi thư mục được đổi tên (và VS không thể tìm thấy dự án)
Jimmy

11
Điều này đã không làm việc cho tôi trong VS 2012; tài sản là chỉ đọc. Tôi đã phải mở tệp .sln dưới dạng văn bản.
Grault

3
Rất tiếc! Tất cả những rắc rối này để đổi tên một thư mục! Điều này đã dễ dàng hơn trong MS-DOS!
Kokodoko

96

Có một cách khác để làm điều này, sử dụng các tệp * .sol, * csproj.

  1. Mở tệp giải pháp của bạn.
  2. Tìm kiếm * .csproj bạn muốn thay đổi.
  3. Nó sẽ như thế này (liên quan đến tệp * .sol):

    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shani.Commands.Impl", "Shani.Commands.Impl\Shani.Commands.Impl.csproj", "{747CFA4B-FC83-419A-858E-5E2DE2B948EE}"

  4. Và chỉ cần thay đổi phần đầu tiên sang diretory mới chẳng hạn:

    Impl\Shani.Commands.Impl\Shani.Commands.Impl.csproj

  5. Tất nhiên, đừng quên chuyển toàn bộ dự án vào thư mục đó.


16
Điều này làm việc cho tôi, thay vì câu trả lời được chấp nhận, không hoạt động vì thuộc tính FilePath chỉ đọc cho tôi.
TJKjaer

1
cảm ơn, điều này đã giúp rất nhiều Ngoài ra, hãy chắc chắn thay đổi cả các giá trị RootNamespace và hội nghị.
DevDave

@TJKjaer Tương tự.
dzenesiz

Điều này đã không làm việc cho tôi trong VS2019. Đưa ra các cảnh báo về các tham chiếu dự án không tồn tại và biên dịch các lỗi về việc thiếu các không gian tên và các lớp trong dự án được tham chiếu.
Jeff Walker Code Ranger

Điều này hoạt động với tôi trong Visual Studio 2019, với các dự án C #. Đó là một giải pháp khá đơn giản. Đối với những người có thể gặp vấn đề khi cố gắng biên dịch, tôi khuyên bạn nên xây dựng lại hoàn toàn dự án thay vì chỉ biên dịch.
Một Silva

94

Điều này rất đơn giản trong Visual Studio 2015 (có thể hoạt động trong các phiên bản cũ hơn)

  1. Trong Solution Explorer, nhấp chuột phải vào Giải pháp chínhĐổi tên
  2. Trong Solution Explorer, nhấp chuột phải vào dự án (theo giải pháp) → Đổi tên
  3. Trong Solution Explorer, nhấp đúp chuột hoặc nhấp chuột phải vào Thuộc tínhtab Ứng dụng goto , đổi tên tên hộikhông gian tên mặc định để khớp.
  4. Nếu bạn cũng muốn đổi tên không gian tên, hãy mở một trong các tệp lớp của bạn. Nhấp chuột phải vào namespace → Rename ... . Điều này sẽ tìm kiếm và thay thế tất cả các tham chiếu đến không gian tên của bạn trong suốt dự án.
  5. Đóng dự án → đổi tên thư mục dự án .
  6. Chỉnh sửa .slntệp trong Notepad và thay đổi đường dẫn đến csproj, tức là fu\bar.csprojbar\bar.csproj.

3
Bạn đã quên cập nhật tài liệu tham khảo dự án trong các dự án phụ thuộc (nếu có).
Steven Liekens 6/11/2015

1
@JohnPeter Theo như tôi có thể thấy, câu trả lời này chưa được chỉnh sửa. Bước 5 mô tả việc đổi tên thư mục, do đó, thực hiện theo các bước này cũng thực sự thay đổi tên thư mục vật lý.
Philip Stratford

Hãy nhớ áp dụng bước 4 cho thư mục dự án con (đó là bước duy nhất còn thiếu đối với tôi để bước 6 hoạt động).
Felipe Gutierrez

54

Man, tôi đã đấu tranh với điều này. Thật không may, không có giải pháp một cú nhấp chuột trong Visual Studio, nhưng nếu bạn đang chạy Visual Studio 2012 và dự án của bạn nằm dưới sự kiểm soát nguồn với Team Foundation Server , đây là cách tôi làm cho nó hoạt động, trong khi vẫn giữ lịch sử nguồn:

(Hãy chắc chắn rằng bạn đã đọc bình luận của @ mjv bên dưới, vì anh ấy lưu ý rằng bạn có thể bỏ qua bước 5-10)

  1. Hãy chắc chắn rằng bạn đã kiểm tra tất cả các thay đổi, do đó bạn không có thay đổi đang chờ xử lý.
  2. Xóa dự án khỏi giải pháp, bằng cách nhấp chuột phải và chọn Xóa .
  3. Bây giờ, trong Windows Explorer, đổi tên thư mục dự án.
  4. Quay trở lại Visual Studio và trong Solution Explorer, nhấp chuột phải vào giải pháp và chọn Thêm -> Dự án hiện có . Chọn tệp dự án cho dự án bạn đã loại bỏ trong bước 2, tệp này sẽ được đặt trong thư mục được đổi tên.
  5. Bây giờ dự án đã trở lại trong giải pháp, nhưng dự án dường như không được thêm vào kiểm soát nguồn. Để khắc phục điều đó, hãy mở Source Control Explorer.
  6. Tìm thư mục dự án trong Source Control Explorer, tương ứng với thư mục dự án trên đĩa của bạn, mà bạn đã đổi tên trong bước 3.
  7. Đổi tên thư mục trong Source Control Explorer, do đó, nó có cùng tên với thư mục dự án trên đĩa.
  8. Bây giờ hãy xem những thay đổi đang chờ xử lý của bạn. Bạn nên có các thay đổi đối với tệp giải pháp và thao tác đổi tên trên thư mục dự án.
  9. Làm lại và đảm bảo mọi thứ biên dịch chính xác. Nếu bạn có các tham chiếu liên dự án cho dự án bạn đã đổi tên, bạn cần thêm lại chúng vào các dự án riêng lẻ đã tham chiếu nó.
  10. Bạn nên được thiết lập ngay bây giờ. Đi và kiểm tra mọi thứ trong.

Hướng dẫn trên làm việc cho tôi. Nếu nó không phù hợp với bạn, hãy thử và xóa hoàn toàn giải pháp cục bộ của bạn và xóa ánh xạ thư mục trong không gian làm việc của bạn. Khởi động lại Visual Studio chỉ trong trường hợp. Hãy chắc chắn rằng bạn thực sự đã xóa toàn bộ giải pháp khỏi máy tính của bạn. Bây giờ hãy gắn lại ánh xạ giải pháp vào không gian làm việc của bạn và nhận phiên bản mới nhất. Bây giờ hãy thử các bước trên. Điều tương tự áp dụng nếu có sự cố xảy ra trong khi làm theo các bước trên. Chỉ cần xóa giải pháp của bạn cục bộ và nhận nguồn mới nhất và bạn sẽ có một bảng xếp hạng rõ ràng để làm việc.

Nếu bạn vẫn gặp sự cố, hãy đảm bảo rằng bạn chưa thay đổi thủ công trong tệp giải pháp hoặc thử các 'thủ thuật' khác trước khi thử các bước trên. Nếu bạn đã thay đổi một cái gì đó và kiểm tra nó, bạn có thể muốn xem xét thực hiện quay lại điểm ngay trước khi bạn bắt đầu lộn xộn với việc đổi tên dự án.

Tất nhiên, bạn cũng muốn đổi tên dự án, trong Solution Explorer. Bạn có thể làm điều này trước các bước trên, nhưng trong trường hợp đó, hãy đảm bảo bạn kiểm tra thay đổi đó trước khi áp dụng các bước trên. Bạn cũng có thể thực hiện sau đó, nhưng trước tiên hãy đảm bảo bạn làm theo tất cả các bước trên và kiểm tra các thay đổi của bạn trước khi thử đổi tên tên dự án trong Solution Explorer. Tôi không khuyên bạn nên thử trộn các bước trên với đổi tên tên dự án trong Solution Explorer. Nó có thể hoạt động mặc dù, nhưng tôi sẽ khuyên bạn nên thực hiện trong 2 thay đổi riêng biệt.


10
Cảm ơn bạn đã giới thiệu một quy trình làm việc trong VS2012! Lưu ý rằng bạn có thể tránh các bước 5-10 (nghĩa là phải mang lại các thư mục đã đổi tên trong Kiểm soát nguồn), thay vào đó, bạn đóng giải pháp và sau đó đổi tên các thư mục bên trong VS' Source Control Explorerthay vì Windows Explorer.
mjv

2
Các bước này đã đóng nhưng thay đổi vị trí thư mục bằng Windows Explorer (WE) trước khi đổi tên trong Source Control Explorer (SCE) gây ra lỗi : Folder already exists. Vì vậy, tôi phải đổi tên thư mục một lần nữa WEsau đó thay đổi nó SCE, sau đó sao chép các tập tin vào thư mục đó, trước khi nó hoạt động. Vì vậy, hãy theo dõi nhận xét từ mjv ở trên. Tôi cũng không nghĩ về việc cần phải thay đổi tên tệp dự án thực tế (không chỉ trong VS) mà tôi đã làm như sau đó khiến tôi lặp lại một số bước này.
Thuyền trưởngBli

Cách tiếp cận này với nhận xét của mjv cũng hoạt động trong Perforce với tùy chọn nhấp chuột phải, Đổi tên / Di chuyển.
santos

Bạn có thể tránh phá vỡ các tham chiếu dự án, xem stackoverflow.com/a/10853509/10245
Tim Abell

@TimAbell Bạn đã thử quy trình đó trong VS2012 và nó có hiệu quả với bạn không? Trước khi tôi viết câu trả lời của mình, tôi đã thử nó, nhưng nó không hoạt động với tôi, vì Đường dẫn dự án trong cửa sổ Thuộc tính luôn luôn chỉ đọc. Và nó cũng không hoạt động chỉnh sửa tệp SLN.
René

33

Hiện tại, không. Chà, thực sự bạn có thể nhấp vào nút dự án bị hỏng và trong ngăn thuộc tính tìm thuộc tính 'Đường dẫn', nhấp vào biểu tượng trình duyệt nhỏ và chọn đường dẫn mới.

Võngà :)


2
Sử dụng VS2015, tên thuộc tính "Unloaded Project Properties" là "Đường dẫn tệp" và giá trị không thể chỉnh sửa cũng không thể duyệt được.
William

29

Giải pháp đơn giản hơn như sau:

  1. Nhấp chuột phải vào dự án và đổi tên nó.
  2. (tùy chọn) Mở cài đặt thuộc tính của dự án và sửa đổi tên tập hợp (và tùy chọn không gian tên mặc định) để sử dụng tên dự án mới.
  3. (tùy chọn) Chọn tên không gian tên trong tệp nguồn, nhấp chuột phải và chọn Refactor / Đổi tên thành toàn cầu đổi tên không gian tên thành tên dự án mới.
  4. (tùy chọn) Mở tệp hội nghịInfo.cs và thay đổi tên tập hợp cho phù hợp.
  5. Lưu và đóng giải pháp.
  6. Sử dụng Windows Explorer, đổi tên thư mục dự án thành tên mới.
  7. Mở tệp SLN trong trình soạn thảo văn bản và tìm một tham chiếu đến đường dẫn dự án và thay đổi nó để sử dụng tên thư mục mới.

Có bốn bước cần thiết, nhưng bảy khuyến nghị. Vào cuối ngày mặc dù dự án được đổi tên hoàn toàn. Về mặt kỹ thuật, tên thư mục cho dự án không phải khớp với chính dự án, vì vậy ngay cả bước đó là tùy chọn, nhưng có thể gây nhầm lẫn nếu chúng không khớp. Tương tự cho tên lắp ráp và không gian tên.


Bước 7 thay thế: Mở tệp SLN bằng VS, bỏ qua các cảnh báo (nhấp vào "OK"), chọn (các) dự án trong Solution Explorer, nhấn F4, cập nhật đường dẫn tệp. Tùy chọn Bước 0: Nhấp chuột phải vào giải pháp và đổi tên nó.
Martin Schneider

6
Không thể tin được Microsoft đã làm một số việc khó khăn như thế nào
Alex

1
Điều này làm việc cho tôi trên Visual Studio Community 2017. Câu trả lời được chấp nhận không hoạt động (đối với tôi); thuộc tính cần thay đổi là chỉ đọc đối với tôi và không thể thay đổi trong hộp thoại thuộc tính.
mã hóa

10

Trong câu trả lời của andersjanmyr, việc đổi tên dự án trước sẽ dễ dàng hơn.

  1. Đổi tên dự án.
  2. Đóng giải pháp (lưu nó).
  3. Đổi tên các thư mục bên ngoài Visual Studio.
  4. Mở giải pháp, bỏ qua các cảnh báo.
  5. Đi qua tất cả các dự án không có sẵn và đặt thuộc tính 'Đường dẫn tệp' đến vị trí mới của tệp dự án của bạn, tức là someproject.csproj .
  6. Tải lại dự án.

Ngoài ra, sau khi các bước đó được thực hiện, bạn có thể muốn đổi tên các tham chiếu khác thành tên dự án cũ của mình.

Trong thuộc tính dự án, cập nhật Tên hội và không gian tên mặc định.

Điều này sẽ cập nhật như sau trong tệp dự án ...

<RootNamespace>SomeProjectName</RootNamespace>
<AssemblyName>SomeProjectName</AssemblyName>

... và sẽ thoát khỏi lỗi "Không gian tên không tương ứng với vị trí tệp, nên là: 'someProjectName'"

Đổi tên không gian tên gốc của bạn (nếu bạn có ReSharper, nhấp chuột phải vào Không gian tên và đi Refactor -> Đổi tên).

Thay đổi tất cả các lần xuất hiện của tên dự án cũ của bạn trong AssociationInfo.cs .


Dựa trên câu trả lời này, bạn có thể chỉnh sửa thủ công tệp giải pháp để đường dẫn đến dự án là đường dẫn mới của bạn và tránh cảnh báo khi mở giải pháp. Bạn có thể nhấp vào Project> Properties> hộiInfo để chỉnh sửa thông tin lắp ráp từ bên trong VS và tránh chỉnh sửa tệp hội nghịInfo.cs.
H2ONaCl

8

Đối với Visual Studio 2017, bạn có thể sử dụng tiện ích mở rộng Visual Studio của tôi:

Tải xuống

Nó sẽ đổi tên dự án trong:

  • Thư mục vị trí dự án
  • Tệp giải pháp
  • Tài liệu tham khảo trong các dự án khác
  • Tên lắp ráp, thông tin
  • Không gian tên mặc định

tuyệt vời! mệt mỏi với tất cả các đổi tên thủ công tôi đã phải làm trong quá khứ. Hoạt động tốt. Không tìm thấy một tham chiếu chuỗi trong gói khác. Không chắc đó là cố ý.
frostymarvelous

cám ơn. nhưng tôi không hiểu như sau: "tham chiếu chuỗi trong gói khác". Bạn có thể giải thích nó được không?
Kuanysh

Vì vậy, tôi có một dự án thử nghiệm và tôi vì vậy tôi có [assembly: InternalsVisibleTo("MyTests")]. Khi tôi đổi tên MyTests, nó không đổi tên tham chiếu đó. Một lần nữa, tôi không nghĩ rằng điều này nằm trong tầm nhìn của bạn và thật dễ dàng để giải quyết bằng tay.
frostymarvelous

1
Tiện ích mở rộng này giả định rằng thư mục hiện có cùng tên với dự án (trước khi đổi tên). Nếu chúng khác nhau, việc đổi tên không thành công :( Tôi cũng không làm cho "Đổi tên không gian" hoạt động. May mắn thay, tôi chỉ sử dụng nó trên các giải pháp khá nhỏ. Nếu không, thật tuyệt!
savehansson

1
@MassimilianoKraus Tôi thực hiện mở rộng riêng tư, vì những đánh giá tiêu cực cuối cùng mà không có lời giải thích trên thị trường. xin lỗi vì điều đó. Tôi đã cập nhật liên kết
Kuanysh

6

Tôi chỉ phải tự làm việc này (sử dụng Visual Studio 2010). Như một số người đã trả lời, bước đơn giản nhất dường như là:

  1. Đóng dự án Visual Studio.
  2. Mở tệp .sln và đổi tên tiền tố thư mục dự án cho mỗi lần xuất hiện .csproj.
  3. Lưu tệp .sln
  4. Đổi tên thư mục thư mục dự án thực tế trên ổ cứng của bạn để phù hợp với những thay đổi của bạn trong tệp .sln.
  5. Mở .sln (trong Visual Studio) và xây dựng lại

5

Đối với những người sử dụng Visual Studio + Git và muốn giữ lịch sử tệp (công việc đổi tên cả dự án và / hoặc giải pháp):

  1. Đóng Visual Studio

  2. Trong tệp .gitignore, sao chép tất cả các đường dẫn bỏ qua của dự án bạn muốn đổi tên bằng các phiên bản được đổi tên của các đường dẫn đó.

  3. Sử dụng lệnh di chuyển Git như thế này:

    git mv <old_folder_name> <new_folder_name>
    

    Xem tài liệu cho các tùy chọn bổ sung: https://git-scm.com/docs/git-mv

  4. Trong tệp .sln của bạn: Tìm dòng xác định dự án của bạn và thay đổi tên thư mục trong đường dẫn. Dòng này sẽ trông giống như:

    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "<Project name>", "<path-to-project>\<project>.csproj"
    
  5. Mở Visual Studio và nhấp chuột phải vào dự án → Đổi tên

  6. Sau đó, đổi tên các không gian tên.

    Tôi đọc rằng ReSharper có một số tùy chọn cho việc này. Nhưng đơn giản tìm / thay thế đã làm công việc cho tôi.

  7. Loại bỏ các đường dẫn .gitignore cũ.


4

Xem mục 3 trong bài viết được liên kết .


  1. Đóng giải pháp và IDE.
  2. Trong Windows Explorer: Thay đổi tên thư mục thành tên mới.
  3. Trong Windows Explorer: Mở tệp .sln bằng trình soạn thảo văn bản.
  4. Thay đổi tên thư mục thành tên mới và lưu lại.
  5. Khởi động lại IDE và mở giải pháp từ menu TệpTệp gần đây nếu nó không tự động bắt đầu.
  6. Nhấp vào thư mục dự án trong Solution Explorer và kiểm tra thuộc tính đường dẫn trong các thuộc tính ở phía dưới. Bây giờ nó sẽ được tham chiếu đến thư mục dự án mới.

Nó làm việc cho tôi.


4

Điều gì làm việc cho tôi trong Visual Studio 2017:

  • Đóng giải pháp trong Visual Studio
  • Đổi tên các thư mục của các dự án trong giải pháp.
    • (đẩy thay đổi trong kiểm soát nguồn - Git trong trường hợp của tôi)
  • Chỉnh sửa tệp .sln trong trình soạn thảo văn bản (bên ngoài Visual Studio 2017) thay đổi tên của thư mục.
  • Mở lại giải pháp trong Visual Studio

Nó nói một cái gì đó như " thêm dự án ". Tôi xây dựng lại mọi thứ và mọi thứ đều tốt để đi.


1
Ngoài ra, bạn có thể cần xóa dự án cũ khỏi các phụ thuộc của các dự án khác và thêm lại dự án mới được đổi tên thành phụ thuộc mới (Nhấp chuột phải vào dự án cũ >> Xóa, sau đó nhấp chuột phải vào Dependencies>> Add reference>> Chọn dự án mới của bạn )
maxshuty

4

Tôi đã phải làm điều này rất nhiều lần. Nó thực sự hữu ích để có thể tái sử dụng một dự án hiện có, nhưng có thể đổi tên văn bản trong không gian tên, tệp và thư mục (bao gồm tên tệp / thư mục).

Sử dụng tìm và đệ quy thay thế bắt đầu từ thư mục gốc có nghĩa là việc đổi tên không phá vỡ liên kết đến các dự án trong tệp giải pháp và tham chiếu dự án.

Để kết thúc này, tôi đã tạo ra một dự án để làm việc này. Ứng dụng này cũng cố gắng bỏ qua các thư mục kiểm soát phiên bản, chẳng hạn như .git, .svn và tệp cài đặt .vs. Thêm thông tin trong README.

https://github.com/garethrbrown/vs-project-rename

Thí dụ


2
Công việc tốt đẹp! Dự án của bạn thực sự là một công cụ đổi tên. Tôi nghĩ một điều thực sự còn thiếu: một tùy chọn khớp toàn bộ từ.
Eliahu Aaron

4

Một giải pháp đã được chứng minh cho tiện ích mở rộng Visual Studio cho Công cụ dữ liệu dành cho doanh nghiệp thông minh (SSDT-BI 2013):

  1. Di chuyển thư mục Project sang vị trí mới (chưa đổi tên bất kỳ thứ gì)
  2. Trong Solution Explorer, đổi tên Dự án / Giải pháp.
  3. Đóng (và lưu) dự án mới đổi tên.
  4. Đổi tên thư mục của dự án và tệp .sln.
  5. Sử dụng trình soạn thảo văn bản và mở tệp giải pháp dự án vừa được đổi tên (.sln) (Tôi đã sử dụng Notepad ++ )
  6. Trong dòng số 6, bạn sẽ thấy: "Dự án {fdjfksdjk4387! ...} =" OLDPRO DỰ ÁN "," OLDFOLDER \ OLDPRO DỰ ÁN.rptproj ". Đổi tên mọi thứ bằng tên mới được sử dụng trong bước 4. (ví dụ ... =" NEWPRO DỰ ÁN "," NEWFOLDER \ NEWPRO DỰ ÁN.rptproj "...)
  7. Đó là nó!

Nó đã được thử nghiệm 100% và hoạt động hoàn hảo trong trường hợp của tôi.

LƯU Ý: Tôi không thể xác nhận nếu nó hoạt động theo các mẫu dự án khác nhau và các phiên bản Visual Studio khác. Như mọi khi, hãy sao lưu mọi thứ trước đó.



2

Tôi thường gặp vấn đề tương tự khi đổi tên dự án trong Visual Studio và chỉnh sửa tên thư mục, tên dự án và tệp .sln để thực hiện điều đó. Tôi vừa viết một VBScript kịch bản hoàn thành tất cả điều đó. Bạn phải cẩn thận với các chuỗi bạn chọn để thay thế.

Bạn chỉ cần đặt tệp .vbs trong cùng thư mục với tệp .sln của giải pháp.

' Script parameters'
Solution = "Rename_Visual_Studio_Project" '.sln'
Project = "Rename_Visual_Studio_Project" '.csproj'
NewProject = "SUCCESS"

Const ForReading = 1
Const ForWriting = 2

Set objFso = CreateObject("Scripting.FileSystemObject")
scriptDirr = objFso.GetParentFolderName(wscript.ScriptFullName)

' Rename the all project references in the .sln file'
Set objFile = objFso.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForReading)
fileText = objFile.ReadAll
newFileText = Replace(fileText, Project, NewProject)
Set objFile = objFSO.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForWriting)
objFile.WriteLine(newFileText)
objFile.Close

' Rename the .csproj file'
objFso.MoveFile scriptDirr + "\" + Project + "\" + Project + ".csproj", scriptDirr + "\" + Project + "\" + NewProject + ".csproj"

' Rename the folder of the .csproj file'
objFso.MoveFolder scriptDirr + "\" + Project, scriptDirr + "\" + NewProject

1

Lưu ý : Bản sửa lỗi này dành cho Visual Studio 2008, nhưng nó sẽ hoạt động ở đây.

  1. Sử dụng Windows Explorer, đổi tên cả thư mục giải pháp (thư mục mẹ và thư mục con) thành tên giải pháp mới.
  2. Xóa .slntập tin nằm trong thư mục cha.
  3. Trong Visual Studio, chọn menu TệpMở dự án .
  4. Đi sâu vào thư mục mới mà bạn vừa đổi tên và mở tệp .csproj (nằm trong thư mục con).
  5. Nhấp chuột phải vào tên dự án và đổi tên nó thành những gì bạn muốn. (Nó phải cùng tên với thư mục trong bước 1.)
  6. Chọn menu TệpĐóng Giải pháp . Một hộp thoại sẽ hỏi bạn có muốn lưu các thay đổi vào .slntệp không. Nhấp chuộtYes .
  7. Trong hộp thoại Lưu tệp dưới dạng , trỏ đến thư mục cha vừa được đổi tên và bấm Lưu . (Lưu ý: Đảm bảo .slntệp có cùng tên với thư mục. Không bắt buộc, nhưng nó vẫn duy trì tính nhất quán.)

Làm xong.


1

Khi sử dụng TFS, bước 2 thực sự là đổi tên thư mục trong kiểm soát nguồn và sau đó lấy bản mới nhất trước khi mở lại giải pháp.


1

Gần đây chúng tôi đã tải lên bản beta của tiện ích mở rộng Visual Studio miễn phí thực hiện công cụ này cho bạn.

Hãy xem Visual Studio Gallery: Gallery Download


1

Vâng, tôi đã làm theo cách của tôi

  • Đóng Visual Studio 2012
  • Đổi tên thư mục con của bạn thành tên ưa thích trong .sln
  • Xóa tệp * .suo
  • Mở lại giải pháp và sửa bất kỳ thuộc tính nào của Project (s) được tải để đáp ứng tên thư mục con mới

1
  1. Đổi tên dự án trong giải pháp và thư mục dự án

  2. Xóa dự án khỏi giải pháp

  3. Thêm dự án hiện có vào giải pháp (dự án được đổi tên của bạn)

Nó làm việc cho tôi. TFS cũng sẽ theo dõi dự án mới.


1

Mở .sln trong trình soạn thảo văn bản và trong dòng sau đây thay đổi <FolderName> thành tên thư mục mới Project ("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ricky", "\ .csproj", " {021CC6B0-8CFB-4194-A103-C19AF869D965} "


3
Hãy giải thích tại sao / làm thế nào điều này hoạt động.
Simon.SA

1

Chuyển đến tệp .sln, nhấp chuột phải, mở bằng Notepad ++ (hoặc bất kỳ trình soạn thảo nào; Notepad ++ là nhanh nhất), tìm đường dẫn, thay đổi nó.


0

Sau khi thay đổi tên thư mục, hãy mở tệp .sln trong Notepad và thay đổi đường dẫn sang đường dẫn mới.


0

Các vấn đề tương tự phát sinh khi một dự án mới phải được tạo và bạn muốn có một tên thư mục dự án khác với tên dự án.

Khi bạn tạo một dự án mới, nó sẽ được lưu trữ tại

./path/to/pro/ject/YourProject/YourProject.**proj

Giả sử bạn muốn có nó trực tiếp trong jectthư mục:

./path/to/pro/ject/YourProject.**proj

Cách giải quyết của tôi để thực hiện điều này là tạo dự án với phần cuối của đường dẫn làm tên của nó, để nó không tạo thêm một thư mục:

./path/to/pro/ject/ject.**proj

Khi bạn đổi tên dự án từ bên trong Visual Studio, bạn sẽ đạt được mục tiêu mà không phải rời khỏi Visual Studio:

./path/to/pro/ject/YourProject.**proj

Nhược điểm của phương pháp này là bạn phải điều chỉnh không gian tên mặc định và tên của nhị phân đầu ra, và bạn phải cập nhật các không gian tên trong tất cả các tệp được bao gồm trong mẫu dự án.


0

Tôi sử dụng Visual Studio 2013 và TFS 2013.

Tôi đã làm nó như thế này:

  1. Mở Visual Studio mà không cần mở giải pháp và sử dụng Source Control Explorer để tìm và đổi tên thư mục cho các dự án
  2. Bấm đúp vào tệp giải pháp trong Source Control Explorer để mở giải pháp.
  3. Bạn nhận được một câu hỏi: "Các dự án gần đây đã được thêm vào giải pháp này. Bạn có muốn nhận chúng từ kiểm soát nguồn không?" , và bạn chọn Yes.
  4. Bây giờ cấu trúc thư mục và dự án đã có, nhưng bây giờ là các tệp, vì vậy bây giờ bạn có phiên bản mới nhất từ ​​kiểm soát nguồn
  5. Cố gắng xây dựng và cam kết thay đổi.

Vì vậy, không có cửa sổ thám hiểm điều. Cuối cùng, bạn có thể xóa tất cả các tệp cục bộ và nhận toàn bộ dự án (sạch) từ kiểm soát nguồn.
Muris

Tôi chỉ phát hiện ra rằng nó cũng có thể, do sắp xếp lại thư mục, tệp giải pháp đó tạo thư mục trống nơi một số dự án được lưu trữ. Sau đó, mở tệp giải pháp trong notepad và phê chuẩn số thuộc tính SccNumberOfProjects theo số lượng thư mục trống được tạo và xóa SccProjectUniqueName #, SccProjectName #, SccLocalPath # và các thuộc tính khác có cùng #.
Muris

0

Có một cách tiếp cận đơn giản hơn đã được thử nghiệm trong Visual Studio 2013 Update 1 và áp dụng cho các dự án được kết nối với TFS:

  • Mở Visual Studio, nhưng hãy để giải pháp được đóng lại.
  • Open Source Explorer và đổi tên thư mục mong muốn (giải pháp sẽ được đóng lại cho bạn nếu bạn chưa đóng nó trước).
  • Nhấp chuột phải vào giải pháp (từ Source Explorer ) và chọn đăng ký.
  • Mở giải pháp. Bạn sẽ được thông báo rằng có những dự án mới được thêm vào. Chấp nhận để có được những thay đổi.
  • Xóa dự án khỏi giải pháp và thêm lại, sau đó đăng ký.
  • Kiểm tra xem các tài liệu tham khảo nội bộ là OK.

0

Cách đơn giản nhất là đi đến thuộc tính của cửa sổ, thay đổi tên của các không gian tên mặc định và sau đó đổi tên được thực hiện.


Cửa sổ bạn nói đến là gì? Bạn có nghĩa là cửa sổ thuộc tính của dự án?
Peter Mortensen

0
  1. Đổi tên dự án bên ngoài Visual Studio.
  2. Chỉnh sửa your_project_name.sln bằng trình soạn thảo văn bản và đổi tên đường dẫn thành đường dẫn mới.

1
Điều đó có vẻ tương tự như giải pháp hiện tại và khó khăn hơn một chút.
bát đĩa

0

Tôi đã làm như sau:

<Tạo bản sao lưu của toàn bộ thư mục>

  1. Đổi tên dự án từ trong Visual Studio 2013 (tùy chọn / không cần thiết).

  2. Xuất dự án dưới dạng mẫu.

  3. Đóng giải pháp.

  4. Mở lại giải pháp

  5. Tạo một dự án từ mẫu đã lưu và sử dụng tên bạn thích.

  6. Xóa khỏi giải pháp thám hiểm dự án trước đó.

Tại thời điểm này, tôi đã cố gắng biên dịch giải pháp mới và để làm như vậy, tôi phải sao chép thủ công một số tài nguyên và tiêu đề vào thư mục dự án mới từ thư mục dự án cũ. Làm điều này cho đến khi nó biên dịch mà không có lỗi. Bây giờ dự án mới này đã lưu tệp ".exe" vào thư mục trước đó. *

Vì vậy ->

  1. Truy cập Windows Explorer và sao chép thủ công tệp giải pháp từ thư mục dự án cũ sang thư mục dự án mới.

  2. Đóng giải pháp và mở giải pháp từ bên trong dự án mới.

  3. Thay đổi cấu hình trở lại (x64) nếu cần.

  4. Xóa thư mục của dự án với tên cũ khỏi thư mục của giải pháp.

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.