2012-01-27 16 views
5

MSDN nói rằng gacutil.exe is not safe to use for production servers. Có lý do chính đáng nào cho việc này hay là Microsoft chỉ thực hành một chút CYA? Cảnh báo này có an toàn để bỏ qua không? Hoặc cuối cùng tôi nên tìm hiểu cách sử dụng Microsoft Windows Installer 2.0?An toàn để cài đặt các cụm sản xuất với gacutil.exe?

từ ngữ chính xác MSDN của:

gacutil.exe chỉ dành cho mục đích phát triển và không nên được sử dụng để cài đặt lắp ráp sản xuất vào Global Assembly Cache.

+0

"không an toàn"? Từ ngữ đó xuất hiện ở đâu? –

+0

Xin lỗi. Tôi đoán tôi đã suy ra một chút. Nó nói nó chỉ dành cho mục đích phát triển. Đã thêm ngôn ngữ MSDN. – Jeff

+0

Ok, tốt hơn. Chỉ muốn xác minh đó là những gì nó nói, và không nhầm lẫn bất kỳ độc giả trong tương lai. :) –

Trả lời

5

Các mục trong bộ nhớ cache lắp ráp chung được chia sẻ giữa các chương trình.

Khi bạn sử dụng Gacutil để thêm một tập hợp vào bộ nhớ cache, sẽ không có tính tham chiếu của các mục phụ thuộc vào nó. Do đó, có thể khi bạn sử dụng GacUtil/U để xóa thư viện của bạn khỏi bộ nhớ cache, bạn sẽ bị hỏng các chương trình khác phụ thuộc vào nó.

Ngược lại, Windows Installer 2.0 tiếp tục đếm và sẽ chỉ xóa thư viện khỏi bộ nhớ cache khi không có chương trình nào khác yêu cầu.

+0

Câu trả lời này kỹ thuật trả lời câu hỏi của tôi tốt hơn so với Hans '(mặc dù Hans đã đọc câu hỏi và hữu ích theo cách đó). Cảm ơn! – Jeff

3

Đó là vì gacutil.exe sẽ không khả dụng trên máy đích. Nó là một phần của Windows SDK, phiên bản .NET 4.0 của nó nằm trong các công cụ C: \ Program Files (x86) \ Microsoft SDK \ Windows \ v7.0A \ Bin \ NETFX 4.0. Bạn có nó trên máy tính của bạn bởi vì bạn đã cài đặt Visual Studio.

Bạn chỉ cần thực hiện việc đó bằng trình cài đặt. Trong một dự án Thiết lập, bấm chuột phải vào ngăn Hệ thống Tệp, Thêm Thư mục Đặc biệt và chọn "Thư mục Bộ nhớ Cache Toàn cầu Toàn cầu". Và đặt DLL trong đó.

+0

Một điểm tốt khác. Tôi đã không nghĩ về điều đó, nhưng nó được cài đặt với VS, phải không? –

+0

Tôi biết nó không được trên máy sản xuất, nhưng kể từ khi phần mở rộng vỏ là cho tôi gặp rắc rối, tôi nghĩ rằng tôi chỉ có thể sao chép nó hơn. – Jeff

+1

Phần mở rộng vỏ không còn có sẵn trong .NET 4. Ngoài ra hãy cẩn thận rằng GAC đã chuyển từ c: \ windows \ assembly sang c: \ windows \ microsoft.net \ assembly. –

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