2013-01-09 8 views
5

Tôi đã tạo một công cụ bằng ứng dụng bảng điều khiển có tên "DocumentHashcode", trong đó tôi đang sử dụng DLL của bên thứ ba - DocumentFormat.OpenXml.dll.đổi tên một dll của bên thứ ba trong .net

Khi tôi sắp triển khai, tôi đang sử dụng DocumentHashcode.exeDocumentFormat.OpenXml.dll để chạy ứng dụng.

Tôi muốn đổi tên DocumentFormat.OpenXml.dll thành CATBldHashCodeSupporterDll.dll. Bất cứ ai có thể tư vấn làm thế nào để đạt được điều này?

+0

Tại sao bạn ẩn thực tế là bạn sử dụng OpenXML? – alzaimar

+0

Thực ra tôi đã tạo một công cụ, được sử dụng bởi ứng dụng khách khác và họ muốn đặt tên cho riêng mình – Alpa

+1

Bạn có thể tìm thấy câu trả lời ở đây: http://stackoverflow.com/questions/4683913/renaming-icsharpcode-sharpziplib-dll – alzaimar

Trả lời

3

Bạn cần tải thủ công bản lắp ráp. Cách đơn giản nhất là tải nó trước khi JITer cố tải không gian tên DocumentFormat.OpenXml. Bạn có thể tự nạp nó như thế này:

var dllPath = Path.Combine(Directory.GetCurrentDirectory(), "reNamed.dll"); 
Assembly.LoadFile(dllPath); 

Hoặc bạn có thể lắng nghe những AppDomain.AssemblyResolve event, mang đến cho bạn cơ hội để nạp DLL đổi tên khi JITer đã thất bại trong việc tìm thấy nó.

1

Bạn cũng có thể thử lắp ráp lại tệp DLL bằng tên mới. Để biết chi tiết, vui lòng kiểm tra câu trả lời cuối cùng trong Stackoverflow: Renaming ICsharcode-dll.

0

Nếu bạn không thấy phiền một chút, bạn có thể sử dụng trình soạn thảo văn bản để thay đổi tệp .csproj của mình. Nếu .dll của bạn, ví dụ, là xr-CommInterop.dll bạn nên tìm một số XML như:

<Reference Include="xr-CommInterop, Version=3.0.0.0, Culture=neutral, processorArchitecture=AMD64"> 
    <SpecificVersion>False</SpecificVersion> 
    <HintPath>C:\Mypath\xr-CommInterop.dll</HintPath> 
</Reference> 

Nếu bạn thay đổi người đầu tiên xr-CommInterop (trong Reference Bao gồm =" ...) để chỉ CommInterop và tải lại dự án, bây giờ bạn sẽ thấy tài liệu tham khảo có tên khác: