8

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

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

我想重命名DocumentFormat.OpenXml.dllCATBldHashCodeSupporterDll.dll. 谁能建议如何实现这一目标?

4

3 回答 3

4

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

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

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

于 2014-01-05T15:40:29.600 回答
1

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

于 2014-02-13T12:22:43.110 回答
1

如果你不介意弄脏一点,你可以使用文本编辑器来修改你的 .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 并重新加载项目,您会发现该引用现在具有不同的名称。

于 2017-01-25T18:52:33.607 回答