加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何阻止Microsoft.Sharepoint.Sandbox.dll被复制到

发布时间:2020-12-16 09:51:32 所属栏目:asp.Net 来源:网络整理
导读:我有一个包含一些Sharepoint功能的utils类库项目.该项目引用Microsoft.Sharepoint.dll(copy local设置为false).我们有许多其他项目引用我们的utils dll,每当我们构建它们时,Microsoft.Sharepoint.Sandbox.dll被复制到这些应用程序的bin文件夹中.然后在运行任
我有一个包含一些Sharepoint功能的utils类库项目.该项目引用Microsoft.Sharepoint.dll(copy local设置为false).我们有许多其他项目引用我们的utils dll,每当我们构建它们时,Microsoft.Sharepoint.Sandbox.dll被复制到这些应用程序的bin文件夹中.然后在运行任何应用程序时,我收到以下错误:

Could not load file or assembly 'Microsoft.Sharepoint.Sandbox' or one of its dependencies. An attempt was made to load a program with an incorrect format.

删除DLL修复了问题..
有没有办法阻止将Microsoft.Sharepoint.Sandbox.dll复制到bin文件夹中?我不想使用post build脚本,因为有很多项目引用了utils项目,我们仍然需要在部署时手动删除dll.

我可以重现如下:

1)创建一个新的解决方案

2)添加一个名为utils的类库项目

3)参考Microsoft.Sharepoint.dll

4)Class1.cs:

namespace Utils
{
    public class Class1
    {

        public void testMeth()
        {
            Microsoft.SharePoint.DefaultItemOpen c; 
        }
    }
}

5)向解决方案添加新的Web项目(WebApplication1)

6)引用Utils项目并尝试运行WebApplication1

编辑:Microsoft.Sharepoint.Sandbox是64位DLL但我需要针对任何CPU.

难道没有办法告诉VS停止牵引隐含的引用吗?

解决方法

如何将Microsoft.Sharepoint.Sandbox.dll程序集添加到GAC?
根据 MSDN:

If you deploy/copy an application that contains a reference to a
custom component that is registered in the GAC,the component will not
be deployed/copied with the application,regardless of the Copy Local
setting. For more information,see 07001.

更新.如果您定位任何CPU,您可以编写一个powershell或bat脚本,它枚举所有bin文件夹并删除所有Microsoft.Sharepoint.Sandbox.dll

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读