在.net中重命名第三方dll

时间:2013-01-09 07:07:01

标签: c# .net dll

我使用名为“DocumentHashcode”的控制台应用程序创建了一个工具,其中我正在使用第三方DLL - DocumentFormat.OpenXml.dll

当我要部署它时,我使用DocumentHashcode.exeDocumentFormat.OpenXml.dll来运行应用程序。

我想将DocumentFormat.OpenXml.dll重命名为CATBldHashCodeSupporterDll.dll。任何人都可以建议如何实现这个目标吗?

3 个答案:

答案 0 :(得分:3)

您需要手动加载程序集。最简单的方法是在JITer尝试加载DocumentFormat.OpenXml命名空间之前加载它。您可以像这样手动加载它:

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

或者您可以收听AppDomain.AssemblyResolve event,这样一旦JITer找不到它,您就有机会加载重命名的DLL。

答案 1 :(得分:1)

您还可以尝试使用新名称重新组装DLL文件。 有关详细信息,请查看Stackoverflow中的最后一个答案:Renaming ICsharcode-dll

答案 2 :(得分:0)

如果您不介意弄脏,可以使用文本编辑器来更改.csproj文件。例如,如果您的.dll是xr-CommInterop.dll,您应该找到一些XML:

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

如果您将第一个xr-CommInterop(在参考包含=&#34; ...中)更改为CommInterop并重新加载项目,您会发现该引用现在具有不同的名称。