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