我使用名为“DocumentHashcode”的控制台应用程序创建了一个工具,其中我正在使用第三方DLL - DocumentFormat.OpenXml.dll
。
当我要部署它时,我使用DocumentHashcode.exe
和DocumentFormat.OpenXml.dll
来运行应用程序。
我想将DocumentFormat.OpenXml.dll
重命名为CATBldHashCodeSupporterDll.dll
。任何人都可以建议如何实现这个目标吗?
答案 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并重新加载项目,您会发现该引用现在具有不同的名称。