在.net中重命名第三方DLL
本文关键字:第三方 DLL 重命名 net | 更新日期: 2023-09-27 17:51:08
我使用控制台应用程序创建了一个名为"DocumentHashcode"的工具,其中我使用第三方DLL - DocumentFormat.OpenXml.dll
。
当我要部署它时,我使用DocumentHashcode.exe
和DocumentFormat.OpenXml.dll
来运行应用程序。
我想把DocumentFormat.OpenXml.dll
重命名为CATBldHashCodeSupporterDll.dll
。谁能告诉我如何做到这一点?
您需要手动加载程序集。最简单的方法是在JITer尝试加载DocumentFormat之前加载它。OpenXml名称空间。您可以像这样手动加载它:
var dllPath = Path.Combine(Directory.GetCurrentDirectory(), "reNamed.dll");
Assembly.LoadFile(dllPath);
或者您可以收听AppDomain。AssemblyResolve事件,它使您有机会在JITer无法找到它时加载重命名的DLL。
您也可以尝试用新名称重新组装DLL文件。有关详细信息,请查看Stackoverflow:重命名ICsharcode-dll中的最后一个答案
如果您不介意弄得有点脏,您可以使用文本编辑器来修改您的.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(在Reference Include="…"中)更改为仅CommInterop并重新加载项目,您将发现引用现在具有不同的名称