Mahmoud Farahat の言う通り、SharePoint がインストールされているマシンに Visual Studio をインストールして、SharePoint 固有のすべての dll が GAC に登録されていることを確認する必要があります。
SP2013 以降、Microsoft は Windows 2012 および 2008R2 以外に SP をインストールすることを許可しなくなりました。2010年にはWindows 7にインストールできましたが、これは、開発ローカルが実行しているもの、または少なくともWindowsデスクトップOSの一部のバージョンであると思います。これを行うには、構成設定を変更する必要がありました。これを調べることはできますが、実行できないため、関連性がなくなりました。ローカルのラップトップに SP2010 をインストールしましたが、強力なマシンが必要で、すべての処理が恐ろしく実行されます。私の意見では、開発にローカル マシンを使用することは実用的ではありません。SharePoint は非常に電力を消費するからです。Virtual Box でローカルにホストされた VM として 2010 を実行しましたが、これはかなりうまく機能するため、各開発者が仮想マシンをローカルに持つ可能性があります。私たちの IT はしませんでした」
そのため、私がセットアップした 2013 年の開発環境は、強力な単一サーバー ファーム、つまりアプリ、Web、DB がすべて 1 つの仮想サーバー上でホストされています (開発者には受け入れられます)。リモート デスクトップ経由で単一の SharePoint 開発サーバーに複数の開発者接続を実行しています。グループ ポリシーhttp://technet.microsoft.com/en-us/library/cc784146(v=ws.10).aspxで複数の RDP セッションが有効になっていることを確認します。このサーバーには、SP2013、VS2012、および SPD がインストールされており、IIS8 (Windows 2012) がインストールされています。
同じ Web アプリケーション (SharePoint は ISS アプリケーション プールを表す) で両方を開発することは可能ですが、devenv.exe (Visual Studio) が w3ps.exe (IIS アプリケーション プール) にアタッチされるため、一度に 1 つのセッションしかデバッグできません。開発した各機能を展開、インストール、アクティブ化します (SP トークの詳細)。したがって、ある開発者が Web アプリケーションにアタッチしてデバッグすると、他の開発者はプロセスにデバッガーが既にアタッチされているというエラーを受け取ります。
これは機能しますが、2 人の小さなチーム (これ以上小さくすることはできません) でさえ、これは大きなハンディキャップであり、特に強力なサーバーでもデバッガーの起動に数分かかる場合があります。 . では、他のオプションは何ですか?各開発者が個別に接続するためのプロセスを作成する必要があります。これは、SharePoint の Web アプリケーションに関連しています。これらはすべてサーバーの全体管理を通じて実現できますが、多くの開発者が GUI でこれを行う場合、管理者にとっては少し退屈な場合があります。したがって、スクリプトを使用して同じ結果を得るには、PowerShell で次のコードを実行します。
Add-PsSnapin Microsoft.SharePoint.PowerShell
New-SPWebApplication -ApplicationPool "SharePoint – DEV1" -Name "SharePoint – DEV1" -ApplicationPoolAccount (Get-SPManagedAccount "yourdomain\service.account") -Port 81
New-SPWebApplication -ApplicationPool "SharePoint – DEV2" -Name "SharePoint – DEV2" -ApplicationPoolAccount (Get-SPManagedAccount "yourdomain\service.account") -Port 82
New-SPSite -Url http://yourspservername:81/sites/YourSiteName -Name YourProjectNameDev -Description "Developer1’s Development team site for Your Project" -OwnerAlias yourdomain\developer1.username -Template "STS#0"
New-SPSite -Url http:// yourspservername:82/sites/ YourSiteName -Name YourProjectNameDev -Description "Developer2’s Development team site for Your Project" -OwnerAlias yourdomain\developer2.username -Template "STS#0"
Remove-PsSnapin Microsoft.SharePoint.PowerShell
これは、NTLM 認証を使用していることを前提としており、http://technet.microsoft.com/en-us/library/ff607931.aspxを読んで、コマンド New-SPWebApplication の環境に適切なパラメーターが指定されていることを確認してください。このままのコードでは、GUID サフィックスが付いたコンテンツ データベースも作成されますが、これは明確ではない可能性があるため、必要に応じて指定してください。
これにより、各開発者用の SiteCollection と、各開発者用のチーム サイト テンプレートに基づくサイトが作成されます。より多くの開発者のために、各行を個別にコピーします。
最終的な組み合わせテストのためにすべての機能を展開する共同サイト用に、ポート 80 でデフォルトで作成された Web コレクションを保持しています。
各開発者は、Visual Studio でプロジェクト プロパティを編集して、サイト URL プロパティが個別に割り当てられたポートと一致するようにする必要があります。
このプロパティは csproj ファイルで指定され、各開発者が独自のポート番号をリポジトリに投稿するため、ソース管理でプロジェクトを結合するときは注意してください。