3

SharePoint 2007 用のソリューション (wsp) を多数作成し、必要なすべてのインストール手順をほぼ自動化しましたが、自動化できないことが 1 つあります。

仮想アプリケーションの App_GlobalResources フォルダーにリソース (resx) ファイルを配置するソリューションを作成するにはどうすればよいですか?

前もって感謝します。

4

4 に答える 4

6

SharePoint構成ファイルを介してファイルを直接展開する方法がないため、ファイルをコピーするFeatureReceiverを作成する必要があります。

このブログ投稿は、SharePointのリソース、種類、使用、および展開を行う必要があるときに役立ちました。

于 2009-03-12T14:41:36.743 に答える
2

ソリューション フレームワークは、App_GlobalResources フォルダーへのデプロイをサポートしていません。

ファイルをコピーする SharePoint タイマージョブを作成する必要があります。タイマージョブはファーム内のすべてのサーバーで実行されるため、すべてのサーバーにリソース ファイルがコピーされます。注意すべきことは、timerjob を実行するコンテキスト (ドメイン アカウント) です。タイマージョブを開始するには、ファーム アカウントを使用する必要があります - Web アプリケーションを実行するアカウントでは不十分です (これには RunWithElevated が含まれます...) - 簡単に言えば - af ファーム機能または非表示の SiteCollection 機能 (非表示の機能はファーム アカウントとして実行されます)。

ここでより多くのインスピレーションを見つけてください:

Windows SharePoint Services 3.0 でのカスタム タイマー ジョブの作成

SharePoint のリソース、種類、使用、展開(DylanW が参照するリンク)

于 2009-03-12T21:00:33.810 に答える
1

プロジェクトを右クリックして次を選択することにより、resxファイルをApp_GlobalResourcesフォルダーに追加しました。-新しいアイテムの追加-「リソース」という名前の空の要素-次に、新しく作成した「リソース」フォルダーに新しいresxファイルを追加します-次に、resxファイルに「デプロイメントタイプ」を「AppGlobalResource」に変更します

マット

于 2011-12-08T16:41:37.717 に答える
1

ファイル frpm 12/Resources を App_GlobalResources にコピーする stsadm コマンド CopyAppBinContent を使用できます。したがって、WSP (VS プロジェクト) は resx ファイルをそのフォルダーに配置する必要があります。私は実際に resx ファイルを .csproj ルートの Resources というフォルダーに配置し (12/Resources に配置することに伴う奇妙な名前空間を避けるため)、それら (resx ファイル) を XCopy するソリューションを使用しています。 12/ビルド時のリソース。

次に、CopyAppBinContent がデプロイ プロセスに追加されます (.bat ファイル内のステップ)。

CopyAppBinContent をファームで実行するといくつかの問題が発生するため、ファームでそのコマンドの開始を処理するカスタム SPJobDefinition を使用します。

于 2009-06-06T14:47:30.880 に答える