clickonce を使用して展開される .net 3.0 アプリケーションを開発しました。
展開を容易にするために、完全信頼から部分信頼に移行したいと考えています。
Visual Studio のプロジェクトの [セキュリティ] タブにある [アクセス許可の計算] ツールを試してみましたが、答えは非常に明確です。
---------------------------
Microsoft Visual Studio
---------------------------
This application requires full trust to run correctly.
ただし、完全な信頼が必要な理由を理解できませんでした。セキュリティ設定を「部分信頼」に変更しようとしましたが、アプリケーションは起動直後に SecurityException を発生させます。
System.Security.SecurityException {"Request failed.", Action= "System.Security.Permissions.SecurityAction.LinkDemand"
at MyNameSpace.Program.Main(String[] args)
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
at System.Runtime.Hosting.ManifestRunner.Run(Boolean checkAptModel)
at System.Runtime.Hosting.ManifestRunner.ExecuteAsAssembly()
at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String[] activationCustomData)
at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext)
at System.Activator.CreateInstance(ActivationContext activationContext)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.runTryCode(Object userData)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
私のソフトウェアはおそらく完全な信頼を必要としません (私は https を使用してのみ Web サーバーに接続し、インポート/エクスポートの目的でユーザーの要求があった場合にのみファイルシステムにアクセスします)
アプリケーションが完全な信頼を必要とする理由を特定するにはどうすればよいですか?