我在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中为应用程序执行these指令,我可以使用VS命令行和gacutil.exe(带有成功的确认消息)将SharePoint dll添加到GAC,但我仍然无法运行EXE而不存在2 .dll文件。
注意:我开发了面向.NET-4的应用程序,但是用户将从安装了.NET-3.5的系统访问这些文件,但是保存EXE的服务器确实具有.NET- 4环境。
答案 0 :(得分:0)
我能够通过使用名为ILMerge
的工具来实现这一目标,该工具可以找到here并且可以作为NuGet包使用。
ILMerge允许您将dll和exe文件合并到一个exe
中