いくつかのSharepoint機能を含むutilsクラスライブラリプロジェクトがあります。プロジェクト参照Microsoft.Sharepoint.dll
(ローカルコピーは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フォルダーにコピーされないようにする方法はありますか?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に指示する方法はありませんか?