私たちのSharePoint環境を単純化するために、すべてのマスターページが格納される中央と単一の場所を用意したいので、_layoutsディレクトリから直接masterpageファイルを参照したいと考えていました。レイアウトディレクトリからMasterPagesを実行する
私は「\ LAYOUTS \ MyMasterPages」ディレクトリにファイルを追加して、そのパスを使用してSPWebオブジェクトを更新:
web.MasterUrl = "/_layouts/MyMasterPages/newdefault.master"
しかし、私は私が得るサイトに行くとき:
参照ファイル '/_layouts/MyMasterPages/newdefault.master' はこのページでは許可されていません。 System.Web.UI.BaseTemplateParser.GetReferencedType(VirtualPath virtualPath、ブールallowNoCompile)で System.Web.UI.TemplateParser.ProcessError(文字列 メッセージ)で
System.Web.UI.PageParser.ProcessMainDirectiveAttribute(文字列で System.Web.UI.TemplateParser.ProcessMainDirective(IDictionaryを mainDirective)
で DEVICENAME、文字列名、文字列値、 IDictionaryをparseData)私はこのレベルのセキュリティ・ポリシーとAを信頼するように起因する可能性があると仮定していますCASの設定私は完全にはわからない。企業全体でマスターページを使用するこの中心的な方法を可能にする方法はありますか?/ _catalog/virtual pathを使用していますか?
それは、サイトコレクションレベルにmasterpagesを制限するほとんど意味がありません。なぜ私はMSがこれをしたのか分かりません。エンタープライズソリューションは単一のサイトコレクションに限定することができないため、同じファイルを複数の場所に維持する必要があります。私はあなたがそれをやり遂げるのを妨げる仕組みを見つけて、私の選択肢を秤量したいと思っています。 – webwires
あなたが言っていることは分かっていますが、各サイトコレクションがデータベースインスタンスであることはわかります。私が知らない間に、私はそこに手がかりがあると思う。 – MrChrister
主な開発シナリオでは、SharePointデザイナを使用することになりました。 SharePointデザイナーはコンテンツデータベース内のファイルのみを変更できるため、依存関係を作成する必要がありました。 –