GACUTIL cho .net Framework 4.0 trong windows 7 ở đâu?


79

tôi đã tạo một assembly trong khuôn khổ .net mà tôi định xuất bản lên GAC nhưng tôi không thể tìm thấy tính gacutiltối ưu.

Tôi đã tìm kiếm trên Google một thời gian và tôi đã tìm thấy rất nhiều gợi ý, nhưng không có gì hoạt động:

  • Sao chép hợp ngữ sang% window% \ assemblyby [DOES NOT WORK]
  • Sao chép hợp ngữ vào% window% \ Microsoft.NET \ assembly [DOES NOT WORK]
  • C: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Bin \ gacutil.exe / i "assembly" [returns an error: this assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded]

Có ai có ý tưởng để giải quyết điều này?

Câu trả lời:


73

Nếu bạn đã VS2010cài đặt, bạn phải tìm một gacutil .NET 4.0 tại

C: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0 Công cụ

Các 7.0A Windows SDKnên đã được cài đặt bên cạnh VS2010 - 6.0Asẽ được cài đặt với VS2008, và do đó sẽ không có .NET 4.0 hỗ trợ.


15
Nếu bạn đang sử dụng hệ thống 64-bit, nó sẽ là C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Bin \ NETFX 4.0 Công cụ
Daniel Cai

Hmm, có vẻ như vậy. Windows SDK 7.1 có sẵn dưới dạng 64 bit, nhưng có vẻ như 7.0 chỉ là 32 bit. Thật kỳ lạ, tôi nghĩ rằng tôi đã sao chép trực tiếp đường dẫn tệp từ Windows Explorer vào bình luận của mình.
Ade Stringer

36

VS 2012/13 Win 7 64 bit gacutil.exe nằm trong

C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v8.0A \ bin \ NETFX 4.0 Công cụ

Điều này cũng có vẻ là đúng đối với Visual Studio 2013
Erk

23

Không có Gacutil được bao gồm trong cài đặt tiêu chuẩn .net 4.0. Họ cũng đã chuyển GAC, từ% Windir% \ assembly sang% Windir% \ Microsoft.NET \ Assembly.

Họ thậm chí còn bận tâm đến việc thêm một "chế độ xem đặc biệt" cho thư mục trong Windows explorer, như họ đã làm cho .net 1.0 / 2.0 GAC.

Gacutil là một phần của Windows SDK, vì vậy nếu bạn muốn sử dụng nó trên máy phát triển của mình, chỉ cần cài đặt Windows SDK cho nền tảng hiện tại của bạn. Sau đó, bạn sẽ tìm thấy nó ở đâu đó như thế này (tùy thuộc vào phiên bản SDK của bạn):

C: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0 Công cụ

Có một cuộc thảo luận về GAC mới ở đây: .NET 4.0 có GAC mới, tại sao?

Nếu bạn muốn cài đặt thứ gì đó trong GAC trên máy sản xuất, bạn cần thực hiện nó theo cách "thích hợp" (gacutil không bao giờ được coi là một công cụ để cài đặt nội dung trên máy chủ sản xuất, chỉ là một công cụ phát triển), với Windows Installer, hoặc với các công cụ khác. Ví dụ, bạn có thể làm điều đó với PowerShell và dll System.EnterpriseServices.

Trên một lưu ý chung, và đến từ nhiều năm kinh nghiệm, cá nhân tôi sẽ khuyên mạnh mẽ chống lại sử dụng GAC ở tất cả. Ứng dụng của bạn sẽ luôn hoạt động nếu bạn triển khai DLL với từng ứng dụng trong thư mục bin của nó. Có, bạn sẽ nhận được nhiều bản sao của DLL trên máy chủ của mình nếu bạn có nhiều ứng dụng web trên một máy chủ, nhưng nó chắc chắn có giá trị linh hoạt khi có thể nâng cấp một ứng dụng mà không làm hỏng các ứng dụng khác (bằng cách giới thiệu phiên bản không tương thích của ứng dụng được chia sẻ DLL trong GAC).


5

Thực tế hiện đã có Tiện ích GAC dành cho .NET 4.0. Nó được tìm thấy trong Microsoft Windows 7 và .NET 4.0 SDK (SDK hỗ trợ nhiều hệ điều hành - không chỉ Windows 7 - vì vậy nếu bạn đang sử dụng hệ điều hành mới hơn của Microsoft, rất tốt là nó được hỗ trợ).

Đây là SDK . Bạn có thể tải xuống ISO hoặc cài đặt Web. Loại quá mức cần thiết để tải xuống toàn bộ nếu tất cả những gì bạn muốn là GAC Util; tuy nhiên, nó hoạt động.

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.