次の方法で共有


SharePoint ソリューションのトラブルシューティング

Visual Studio デバッガーを使用して SharePoint ソリューションをデバッグすると、次の問題またはアラートが発生する可能性があります。 詳細については、「 SharePoint 2007 ワークフロー ソリューションのデバッグ」を参照してください。

セキュリティで保護されたビジュアル Web パーツでのトークンの制限

サンドボックス ソリューションのビジュアル Web パーツでは、SharePoint ランタイムがサポートする標準トークン ($SPUrlなど) を処理できません。 その結果、URL は解決されず、次の例のようにスクリプト要素で直接参照する場合、ビジュアル Web パーツ デザイナーのデザイン ビューでコンテンツをプレビューすることはできません。

<script src="<% $SPUrl:~site/SiteAssets/ListOperations.js %>"></script>

この制限を回避してトークンを解決するには、リテラルを使用してトークンを参照してください。

<asp:literal ID="Literal1" runat="server" Text="<script src='" />
<asp:literal ID="Literal2" runat="server" Text="<% $SPUrl:~site/SiteAssets/ListOperations.js %>" />
<asp:literal ID="Literal3" runat="server" Text="' type='text/javascript' ></script>" />

プロジェクトおよびプロジェクト項目の名前の文字制限

プロジェクトとプロジェクト項目の名前には、SharePoint 2010 の展開パスで有効な文字のみを含めることができます。 他の文字は使用できません。

エラーメッセージ

"無効な文字" エラー メッセージ。

解決策

SharePoint プロジェクトとプロジェクト 項目の名前には、次の文字のみを使用します。

  • アルファベットと数字のASCII文字

  • 宇宙

  • 期間 (.)

  • コンマ (,)

  • アンダースコア (_)

  • ダッシュ (-)

  • バックスラッシュ (\)

    プロジェクトがパッケージ化されると、検証規則によって、配置する各ファイルの deployment-path プロパティにこれらの有効な文字のみが含まれていることが確認されます。

ユーザー設定フィールドを作成するときのエラー

Visual Studio では、カスタム フィールドは XML で定義されます。 フィールドが定義されていない場合、または特定の形式を使用して参照されている場合、エラーが発生する可能性があります。

エラーメッセージ

パッケージ化時の "無効な文字" エラー メッセージ。

解決策

次の例が示すとおり、フィールド定義の ID は中かっこで囲まれた GUID である必要があります。

<Field ID="{5744d18c-305e-4632-8bd1-09d134f4830d}"
    Type="Note"
    Name="PatientName"
    DisplayName="Patient Name"
    Group="A Custom Group">
</Field>.

次の例に示すように、コンテンツ タイプのフィールド参照は、開始/終了要素 (<FieldRef>/FieldRef< を使用せず、空の要素形式 (><FieldRef />) を使用して定義する必要があります。

<FieldRef ID="{5744d18c-305e-4632-8bd1-09d134f4830d}"
    Name="PatientName"
    DisplayName="Patient Name"
    Required="TRUE"/>

フィールドのソース XML の形式が正しくないか、有効な XML ファイルではないか、他の問題が発生した場合は、"ファイルを解析できません" というエラーが発生します。

展開後に新しい英語以外のサイト定義がサイト作成ページに表示されない

英語以外のバージョンの Visual Studio (つまり、ロケール ID が 1033 以外のバージョン) を使用してサイト定義を作成して展開すると、[テンプレートの選択] ボックスに [SharePoint カスタマイズ] タブが表示され、[新しい SharePoint サイト] ページに新しいサイト テンプレートが表示されません。

エラーメッセージ

なし。

解決策

この問題は、webtemp サイト定義構成ファイルの Path プロパティの値が正しくないために発生します (webtemp_SiteDefinitionProject1.xmlなど)。 展開場所の下にある Webtemp ファイルの Path プロパティで、1033 を適切なロケール ID に変更します。 たとえば、日本語ロケールを使用するには、値を 1041 に変更します。 詳細については、「 Microsoft によって割り当てられたロケール ID」を参照してください。

ワークフロー プロジェクトがクリーン なシステムに配置されるとエラーが表示される

この問題は、クリーン システム上の Visual Studio でワークフロー プロジェクトを展開する場合に発生します。 クリーン システムは、Visual Studio と SharePoint の新しいインストールが行われるが、展開されたワークフロー プロジェクトがないコンピューターです。

エラーメッセージ

SharePoint リストが見つかりません: ワークフロー履歴。

解決策

このエラーは、ワークフロー履歴リストがないために発生します。 開発環境はクリーンなシステムであるため、ワークフローはデプロイされず、[ワークフロー履歴] リストはまだ存在しません。 この問題を解決するには、ワークフロー ウィザードをもう一度開くと、ワークフロー履歴リストが作成されます。

ワークフロー ウィザードを再入力するには

  1. ソリューション エクスプローラーで、ワークフロー ノードを選択します。

  2. [プロパティ] ウィンドウで、省略記号ボタンがあるプロパティの省略記号 (...) ボタンを選択します。

更新されたイメージを表示するには、デバッグ中にユーザーがブラウザーでアプリケーション ページを更新する必要がある

HTML イメージ コントロールなどのイメージを表示するコントロールを含むアプリケーション ページを含む SharePoint ソリューションをデバッグする場合は、ブラウザーでページを更新して、イメージに加えられた変更を表示する必要があります。

エラー: サイトの場所が無効です

この問題は、SharePoint Server がインストールされていない場合に発生する可能性があります。 また、 SharePoint カスタマイズ ウィザードで指定された SharePoint Web サイトへの管理者アクセス権がない場合にも発生する可能性があります。

エラーメッセージ

  • SharePoint サイトの場所が無効です。

解決策

イベント レシーバー プロジェクトでサイト削除 Web イベントが発生しない

イベント レシーバー プロジェクトを作成し、"サイトが削除されています" などの特定の Web イベントを選択すると、イベントは発生しません。

エラーメッセージ

なし。

解決策

この問題は、サイト レベルのイベントを処理するには機能スコープが "サイト" である必要がありますが、イベント レシーバー プロジェクトの既定の機能スコープは "Web" であるために発生します。 影響を受ける Web イベントは次のとおりです。

  • サイトが削除されています (WebDeleting)

  • サイトが削除されました (WebDeleted)

  • サイトの移動中 (WebMoving)

  • サイトが移動されました (WebMoved)

    この問題を解決するには、イベント レシーバーの機能スコープを次のように変更します。

イベント レシーバーの機能スコープを変更するには

  1. ソリューション エクスプローラーで、イベント レシーバーの .feature ファイルをフィーチャー デザイナーで開きます。このファイルをダブルクリックするか、ショートカット メニューを開き、[開く] を選択します。

  2. [スコープ] の横にある矢印を選択し、表示される一覧で [サイト] を選択します。

ビジネス データ接続モデル プロジェクトの識別子の名前が変更された後に配置エラーが表示される

この問題は、Business Data Connectivity (BDC) モデルでエンティティの識別子名を変更し、ソリューションをデプロイしようとした場合に発生します。

エラー メッセージ

  • < モデル名> には、次の外部コンテンツ タイプのアクティブ化エラーがあります...

  • 名前 '<model name>' の IMetadataObject には、重複するフィールド 'name' の値があります。

解決策

この問題を解決するには、モデルを手動で削除してから、ソリューションをもう一度デプロイします。 次のいずれかのツールを使用して、モデルを削除できます。

  • SharePoint 2010 サーバーの全体管理。 詳細については、Microsoft TechNet Web サイトの BDC モデル管理 を参照してください。

  • Windows PowerShell。 モデルを削除するには、コマンド プロンプトで次のコマンドを入力します。 Remove-SPBusinessDataCatalogModel。 詳細については、Microsoft TechNet Web サイトの 一般的なコマンドレット (SharePoint Server 2010) を参照してください。

SharePoint Server 上の IIS アプリケーション プールのリサイクル中に配置エラーが発生しました

この問題は、IIS 6 WMI 互換性機能と .NET Framework 3.5 が SharePoint Server コンピューターにインストールされていない場合に発生します。

エラー メッセージ

  • 展開手順 'IIS アプリケーション プールのリサイクル' でエラーが発生しました: 名前空間が無効です
  • 展開手順 'IIS アプリケーション プールのリサイクル' でエラーが発生しました:タスクが取り消されました。

解決策

この問題を解決するには、SharePoint Server コンピューターで、Windows 機能 IIS 6 WMI 互換性 がインストールされているかどうかを確認します。

  • Windows PowerShell。 この機能がインストールされているかどうかを確認するには、次の PowerShell コマンドを実行します。 get-windowsfeature -name Web-WMI。 インストール済みとして表示されない場合は、次の PowerShell コマンドを実行してインストールできます。 install-windowsfeature -name Web-WMI。 アプリケーション プールのリサイクル中にエラーが引き続き発生する場合は、 get-windowsfeature -name NET-Framework-Core と install-windowsfeature -name NET-Framework-Core を実行して、. NET Framework 3.5 もマシンにインストールされていることを確認します (そうでない場合)。

SharePoint でビジュアル Web パーツを表示しようとするとエラーが表示される

この問題は、ユーザー コントロールの Path プロパティが文字列 "CONTROLTEMPLATES\" で始まらない場合に発生します。

エラー メッセージ

  • ファイル '/_CONTROLTEMPLATES/< プロジェクト名>/<Web パーツ名>/<ユーザー コントロール名>.ascx' が存在しません。

  • '/' アプリケーションのサーバー エラー。

解決策

この問題を解決するには

  1. ソリューション エクスプローラーで、ファイル名拡張子が .ascx であるユーザー コントロール ファイルを選択します。

  2. メニュー バーで、[ 表示>プロパティ ウィンドウ] を選択します。

  3. [ プロパティ ] ウィンドウで、[ 配置場所 ] ノードを展開します。

  4. Path プロパティの値が文字列 "CONTROLTEMPLATES\" で始まっていることを確認します。

タスク フォーム フィールドを含むインポートされた再利用可能なワークフローを実行するとエラーが表示される

この問題は、フィールドを含むタスク フォームを含むワークフローをインポートし、インポート元と同じシステムで新しいワークフローを実行する場合に発生します。

エラーメッセージ

展開手順 '機能のアクティブ化' でエラーが発生しました:機能 [Guid] で定義されている ID [Guid] を持つフィールドが、現在のサイト コレクションまたはサブサイトで見つかりました。

解決策

このエラーは、Visual Studio の [再利用可能なワークフローのインポート] プロジェクトでタスク フォーム フィールド ID が変更されないために発生するフィールド ID の競合の結果です。 インポートされたワークフローを元のワークフローを含む同じサーバーに展開すると、フィールド ID の競合が発生します。

この問題を解決するには、[検索と置換] 機能を使用して、インポートされたすべてのワークフロー ファイルのフィールド ID 属性の値を変更します。

名前が変更されたインポートされたリスト インスタンスの実行時にエラーが表示される

この問題は、インポートされたリスト インスタンスの名前を変更し、Visual Studio で実行した場合に発生します。

エラーメッセージ

ビルド エラー: 配置手順 '機能のアクティブ化' でエラーが発生しました:ファイル Template\Features\[import projectfeaturename]\Files\Lists\[oldlist name]\Schema.xml が存在しません。

解決策

リスト インスタンスをインポートすると、CustomSchema という名前の属性がリスト インスタンスの Elements.xml ファイルに追加されます。 Elements.xml には、リスト インスタンスのカスタム schema.xml のパスが含まれています。 Visual Studio でリスト インスタンスの名前を変更すると、カスタム schema.xml の配置パスは変更されますが、CustomSchema 属性のパス値は更新されません。 その結果、リスト インスタンスは、機能がアクティブ化されるときに CustomSchema 属性で指定された古いパスに schema.xml ファイルを見つけることができません。

この問題を解決するには、CustomSchema 属性の schema.xml ファイルの展開場所のパスを更新します。

IIS によって終了された SharePoint デバッグ セッション

この問題は、Visual Studio SharePoint ソリューションでブレークポイントを設定し、 F5 キーを選択して実行した後、ブレークポイントに 90 秒以上留める場合に発生します。

エラーメッセージ

デバッグ中の Web サーバー プロセスは、インターネット インフォメーション サービス (IIS) によって終了されました。 IIS でアプリケーション プールの ping 設定を構成することで、この問題を回避できます。 詳細については、ヘルプを参照してください。

解決策

既定では、IIS アプリケーション プールは、アプリケーションが応答するまで 90 秒待機してから、アプリケーションを閉じます。 このプロセスは、アプリケーションの "ping" と呼ばれます。 この問題を解決するには、待機時間を長くするか、アプリケーションの ping を完全に無効にします。

IIS アプリ プールの設定にアクセスするには

  1. IIS マネージャーを開きます。

  2. [ 接続 ] ウィンドウで、SharePoint サーバー ノードを展開し、[ アプリケーション プール ] ノードを選択します。

  3. [ アプリケーション プール ] ページで、SharePoint アプリケーション プール (通常は "SharePoint - 80") を選択し、[ 操作] ウィンドウで [詳細設定] リンクを選択します。

  4. IIS タイムアウトまでの待機時間を長くするには、 Ping の最大応答時間 (秒) の値を 90 秒を超える値に変更します。

  5. IIS の ping を無効にするには、 Ping を False に設定 します

SharePoint で自動縮退によって孤立したリスト インスタンスが残される

この問題は、次の手順を実行した場合に発生します。

  1. Visual Studio でリスト インスタンスを含むリスト定義を作成します。

  2. F5 キーを押してソリューションを実行します。

  3. デバッグを停止するか、SharePoint サイトを閉じます。

  4. SharePoint サイトをもう一度開き、リスト インスタンスを開きます。

エラーメッセージ

'/' アプリケーションのサーバー エラー。

解決策

これは、SharePoint ソリューションのデバッグ セッションを閉じた後、自動取り消し機能によってソリューションが取り消されるために発生します。 取り消しは SharePoint からリスト定義を削除しますが、リストのインスタンスは削除しません。 基になるリスト定義は、リスト インスタンスで必要です。

この問題を解決するには、メニュー バーの [Build>Deploy] を選択してソリューションをデプロイします。 ( F5 キーを選択してソリューションをデバッグしないでください)。次に、SharePoint でリスト インスタンスを削除します。

元の SharePoint ソリューションがエクスポートされたバージョンに置き換えられる

SharePoint ソリューションをエクスポートし、ソリューションを Visual Studio にインポートした後、ソリューションをエクスポート元と同じサイトに展開すると、元の SharePoint ソリューションが置き換えられます。 元のソリューションがアクティブ化されていないサーバーにソリューションを展開する場合、この問題は発生しません。

エラーメッセージ

なし。

解決策

エクスポート元のサイトでソリューションが上書きされないようにするには、Visual Studio プロジェクトでインポートされたすべての機能の SolutionID とフィーチャー ID の GUID を変更します。

デバッグの開始時にエラーが表示される

Visual Studio で SharePoint ソリューションのデバッグを開始すると、指定されたキーがディクショナリに含まれていないため、Visual Studio が Web.config ファイルを読み込めなかったことを示すエラーが表示されます。

エラーメッセージ

Web.config 構成ファイルを読み込めませんでした。 ファイルの形式が正しくない XML 要素がないか確認し、もう一度やり直してください。 次のエラーが発生しました:指定されたキーがディクショナリに存在しませんでした。

解決策

この問題を解決するには、Visual Studio の SharePoint プロジェクトのサイト URL プロパティ値が、Web アプリケーションの代替アクセス マッピングの既定のゾーンに割り当てられている URL と一致していることを確認します。 URL にイントラネットなどの別のゾーンを使用してエラーを解決することはできません。 プロジェクトのサイト URL と既定のゾーン内の URL が一致している必要があります。 代替アクセス マッピングにアクセスするには、SharePoint 2010 サーバーの全体管理ユーティリティを開き、[ アプリケーション管理 ] リンクを選択し、[ Web アプリケーション] の [ 代替アクセス マッピングの構成] リンクを選択します。 詳細については、「 Web アプリケーションのゾーンを作成する」を参照してください。