ビジネス・プロセス・エラー System.Security.SecurityException:型 'System.Security.Permissions.FileIOPermission、mscorlibの許可を要求、バージョン= 4.0.0.0、Culture =ニュートラル、PublicKeyToken = b77a5c561934e089 'が失敗しました。 System.Security.CodeAccessSecurityEngine.Checkで (オブジェクトの需要、StackCrawlMark & stackMark、ブールisPermSet) System.Security.CodeAccessPermission.Demandで() System.IO.FileStream.Init(文字列のパス、にFileModeモード、FileAccessのアクセスでは、 System.IO.FileStream..ctor(String path、FileMode mode、FileAccess access、FileAccess access)で に設定されている場合は、 System.IO.File.InternalWriteAllBytes(String path、Byte [] bytes、Boolean checkHost)の にある RetrieveAttachments.RetrieveClass.Executeの (ファイルパスの長さは、 IServ iceProviderサービス・プロバイダ) 失敗したアクションだった: 需要 失敗した最初の許可のタイプだった: System.Security.Permissions.FileIOPermission 失敗したアセンブリのゾーンだった:私も追加 マイコンピュータどのようにDynamics CRMのプラグインSystem.Security.Permissions.FileIOPermissionエラーを解決するには
プラグインAssemblyInfo.csファイルの次のメソッド [アセンブリ:System.Security.AllowPartiallyTrustedCallers] ただし、同じエラーが発生します。
QueryExpression notes = new QueryExpression { EntityName = "annotation", ColumnSet = new ColumnSet("filename", "subject", "annotationid", "documentbody","mimetype") };
notes.Criteria.AddCondition("annotationid", ConditionOperator.Equal, annotationid);
EntityCollection NotesRetrieve = service.RetrieveMultiple(notes);
if (NotesRetrieve != null && NotesRetrieve.Entities.Count > 0)
{
foreach (var note in NotesRetrieve.Entities)
{
string fileName = note.GetAttributeValue<string>("filename");
string cleanFileName = string.Empty;
foreach (var chr in fileName.ToCharArray().ToList())
{
if(!Path.GetInvalidFileNameChars().Contains(chr)) cleanFileName = cleanFileName + chr;
}
FileIOPermission f = new FileIOPermission(FileIOPermissionAccess.Write, @"D:\note");
string fileLocation = Path.Combine(@"D:\note", cleanFileName);
byte[] fileContent = Convert.FromBase64String(NotesRetrieve.Entities[0].Attributes["documentbody"].ToString());
System.IO.File.WriteAllBytes(fileLocation, fileContent);
}
}
こんにちは@pen私はこのレジストリキーの値を変更することによって解決策を与えるあなたが与えたリンクを見たが、サンドボックスプラグインのWebアクセスを変更することができますが、システム管理者だけによって行われます。 Dynamics CRMがサンドボックスモードをサポートしているからといって、プラグインをサンドボックスの外部に登録する方法。 –
こんにちは、「Microsoft Dynamics CRMのオンライン展開では、プラグインまたはカスタムワークフローアクティビティをサンドボックスに登録する必要があります」というリンクを読んで読めるようにしてください。投稿を編集して例外を投げているコードを共有できますか? – pen2
こんにちは@ pen2あなたのプラグインの信頼レベルを読んでください –