Why qué mi aplicación .NET requieren plena confianza?

He desarrollado una aplicación .net 3.0, que se implementa utilizando clickonce.

Me gustaría pasar de la confianza total a la confianza parcial para facilitar la implementación.

He probado la herramienta "Calcular permisos" en la pestaña "Seguridad" de mi proyecto en Visual Studio, y la respuesta es bastante clara:

---------------------------
Microsoft Visual Studio
---------------------------
This application requires full trust to run correctly.

Sin embargo, no he podido entender por qué se requiere plena confianza. He tratado de cambiar la configuración de seguridad de "confianza parcial", pero la aplicación plantea una SecurityException inmediatamente después de la puesta en marcha:

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()

Mi software probablemente no necesita plena confianza (solo me conecto a un servidor web usando https, y accedo al sistema de archivos solo a solicitud del usuario, para fines de importación / exportació

How puedo entender por qué mi aplicación requiere plena confianza?