如何在发布后在 EXE 中包含 SharePoint 程序集

本文关键字:包含 SharePoint EXE 程序集 | 更新日期: 2023-09-27 18:31:39

>我在Visual Studio 2015中开发了一个简单的.EXE,当用户运行某个进程时,它将一个项目添加到指定的SharePoint网站和List。

该文件保存在共享网络驱动器中,除了一个细节外,一切似乎都完美无缺。

如果不将以下.dll文件保存在同一个文件夹中,我似乎无法弄清楚如何运行 EXE:

Microsoft.SharePoint.Client.Runtime.dll
Microsoft.SharePoint.Client.dll

如果我从保存 EXE 的文件夹中移动这些内容,则在运行 exe 时会收到以下错误消息:

Unhandled Exception: System.IO.FileNotFoundException: Couldt not load file or assembly 'Microsoft.SharePoint.Client, Version=15.0.0.0, Culture=neutral ... Or one of its dependencies ...

(认为)我已经按照应用程序的 VS 中的这些说明设置了"强名称程序集",并且我能够使用 VS 命令行和 gacutil 将 SharePoint dll 添加到 GAC .exe(带有成功的确认消息),但我仍然无法在没有 2 个.dll文件的情况下运行 EXE。

注意:我开发了针对 .NET-4,但用户将从具有 的系统访问文件。安装了 NET-3.5,但是保存 EXE 的服务器确实具有 .NET-4 环境。

如何在发布后在 EXE 中包含 SharePoint 程序集

我能够通过使用名为 ILMerge 的工具来实现这一点,该工具可以在此处找到,并可作为 NuGet 包使用。

ILMerge 允许您将 dll 和 exe 文件合并到单个 exe 中