我在Visual 2015中开发了一个简单的.EXE,它在用户运行某些进程时将一个项添加到指定的SharePoint站点和列表中。
该文件保存在一个共享的网络驱动器中,除了一个细节之外,一切看起来都很完美。
如果不将以下.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.exe (成功确认消息)将SharePoint .dll添加到GAC中,但我仍然无法在没有2.dll文件的情况下运行.dll。
注意:我开发了该应用程序以针对.NET-4,但是用户将从安装了.NET-3.5的系统中访问文件,但是保存EXE的服务器确实具有.NET-4环境。
发布于 2016-03-16 09:18:21
我能够通过使用一个名为ILMerge的工具来实现这一点,这个工具可以找到这里,并且可以作为NuGet包使用。
ILMerge允许您将dll和exe文件合并到单个exe中。
https://stackoverflow.com/questions/34952611
复制相似问题