タイプは安全な「カスタムアクション」として登録されていません
-
09-12-2019 - |
質問
WSP Builderを使用してカスタムアクションを作成しようとしています、私のフォルダ構造はこのようなものです、
今すぐ解決済みの場合は何も起こりません。ただし、ULSログでこのエラーが発生します。
アセンブリの制御の制御に失敗しました。 ''、class '':コントロール アセンブリ名 ''を使用すると、 'クラス名' 'がURLでWebには許可されていません ''。タイプは安全として登録されていません。
アセンブリ名を取り除いた。to-add-a-web-part-by ">別の質問彼らは manifest.xml ファイルを追加することを求めますが、それがどこに行くのか、そしてWSPを使用してWSPを作成するかどうかわからないBuilderにはWSPでmanifest.xmlが含まれ、問題を解決しますか?
解決
あなたのプロジェクトに空のモジュールを追加することができます。プロパティウィンドウを開き、新しい追加されたモジュールの safe制御エンティティプロパティを設定します。このプロパティは安全なコントロールのコレクションを追加できます。
他のヒント
機能Recivers の機能を特色アクティブに追加する必要があります。
SPWebConfigModification safeControl = new SPWebConfigModification();
safeControl.Path = "configuration/SharePoint/SafeControls";
safeControl.Owner = ModuleNameGoesHere;
safeControl.Name = "SafeControl[@Assembly='assembly.Name.goes.Here, Version=1.0.0.0, Culture=neutral, PublicKeyToken=87b3480442bff091'][@Namespace=Namespace.Name.goes.Here'][@TypeName='*'][@Safe='True']";
safeControl.Type = SPWebConfigModification.SPWebConfigModificationType.EnsureChildNode;
safeControl.Sequence = 0;
safeControl.Value = "<SafeControl Assembly='assembly.Name.goes.Here, Version=1.0.0.0, Culture=neutral, PublicKeyToken=87b3480442bff091' Namespace=Namespace.Name.goes.Here' TypeName='*' Safe='True' />";
mService.WebConfigModifications.Add(safeControl);
mService.Update();
mService.ApplyWebConfigModifications();
.
上記のコードは、あなたのためにweb.configの安全なコントロールにあるかもしれません!これは推奨されている方法であり、ベストプラクティスによって従っています。そのため、機能を有効にすると、セーフコントロールを追加します。)
編集
上記の例と同様に、ここでも見つけることができます。はい、これはベストプラクティスであり、手動でSafeControlを登録するためにMicrosoft Specialyによってインプラクトされ、Webアプリケーション内で必要なweb.configの機能を自動的に追加することで自動的に追加されたため、Manumly Multiple時:):
web.config変更の集まりは、一連のコマンドです。 Microsoft SharePointのweb.configマニピュレータによって処理されたとき 財団、web.configファイルの状態を変更します。あなたは弦をすることができます これらのコマンドのセットをまとめて、希望を適用する web.config内のタグと属性。各修正は表現されます 管理オブジェクトモデルのオブジェクトとして。
SPWebApplicationのWebConfigModificationsプロパティを使用する Web.config変更のコレクションを取得するためのSpwebServiceクラス 内のWebアプリケーションまたはすべてのWebアプリケーションで ウェブサービス。あなたが定義した変更を適用するには サーバー内のWeb.configファイルへのSPWebConfigModificationクラス Farmは、現在のapplyWebConfigModificationsメソッドを現在で呼び出します 次のように、コンテンツWebサービスオブジェクト SPWebService.ContentService.ApplyWebConfigModifications
それが助けることを願っています:)
編集2
WebPartの場合は、次のようにmanifest.xmlというマニフェストファイルを持つ必要があります。
.<?xml version="1.0" encoding="utf-8" ?> <Solution xmlns="http://schemas.microsoft.com/sharepoint/" SolutionId="{C1938CC9-A1A3-4e20-932C-33ECB2C47481}"> <Assemblies> <Assembly DeploymentTarget="GlobalAssemblyCache" Location="WebPartsname.dll"> <SafeControls> <SafeControl Assembly="namespacegoeshere, Version=1.0.0.0, Culture=neutral, PublicKeyToken=918d2ffdab83e9e8" Namespace="namespacegoeshere" TypeName="*" Safe="True"/> </SafeControls> </Assembly> </Assemblies> </Solution>
光を落とすことを願っています:)