3

混合(フォームとWindows)ベースのSharePoint 2010サイトがあり、c#でオブジェクトモデルを使用しようとしています(コマンドラインコンソールアプリ、Microsoft.SharePointを参照、SolutionPlatformのターゲットはx64です[VS2012では新しいソリューションプラットフォームを作成し、設定を<Empty>]からコピーします。)

PowerShellでは、次のようなことを簡単に行うことができます

$site = Get-SPSite http://www.server.com/sites/site1

オブジェクトの取得に成功し、含まれているSPWebなどを自由に開くことができます。ただし、C#で(同じユーザー資格情報の下の同じボックスで)同様のロジックを試行すると、

using(SPSite site = new SPSite("http://www.server.com/sites/site1") { }

FileNotFoundExceptionで失敗します。関連するGUIDを使用しようとすると、同じ問題が発生します。なぜこれが起こっているのでしょうか?

また、私はボックスの管理者であり、データベースでsysadminサーバーの役割を明示的に持っています。

4

2 に答える 2

3

コマンドプロンプトでこれを行っていると思いますか?その場合は、プロジェクトをx64でコンパイルしていることを確認してください。これは、コードをx86または任意のCPUでコンパイルしたときに表示されるエラーメッセージです。

于 2012-12-19T15:22:36.573 に答える
0

これを経験している人にも。PowerShell3はSharePointメソッドをサポートしていません。Powershell v3をインストールした後、powershell -version 2SharePointコマンドを実行する前に、最初にコマンドを使用して別のシェルに入る必要があることを発見しました。これにより、VSプロジェクトが.NET4.5を対象としていることに気付きました。.NET 3.5に変更すると、すべてが機能しました。

.NET 3.5を対象とするSharePointライブラリ、および理論的には.NET4CLRが.NET2CLRライブラリを処理できるにもかかわらず、SharePoint2010を使用するプロジェクトは.NET4/4.5を対象とすることをまったくサポートしていないと思います。

もちろん、間違っていることが証明されてうれしいです;)

于 2012-12-20T14:01:21.677 に答える