Я разработал приложение .net 3.0, которое развертывается с помощью clickonce.
Я хотел бы перейти от полного доверия к частичному доверию, чтобы облегчить развертывание.
Я попробовал инструмент "Вычислить разрешения" на вкладке "Безопасность" моего проекта под визуальной студией, и ответ довольно ясен:
---------------------------
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 и получаю доступ к файловой системе только по запросу пользователя для целей импорта/экспорта)
Как я могу понять, почему мое приложение требует полного доверия?