Ich habe eine .net 3.0 Anwendung entwickelt, die mit clickonce bereitgestellt wird.
Ich würde gerne von vollem Vertrauen zu teilweisem Vertrauen wechseln, um die Einführung zu erleichtern.
Ich habe das Tool "Berechtigungen berechnen" auf der Registerkarte "Sicherheit" in meinem Projekt unter Visual Studio ausprobiert, und die Antwort ist ziemlich eindeutig:
---------------------------
Microsoft Visual Studio
---------------------------
This application requires full trust to run correctly.
Ich habe jedoch nicht herausfinden können, warum volles Vertrauen erforderlich ist. Ich habe versucht, die Sicherheitseinstellungen auf "teilweises Vertrauen" zu ändern, aber die Anwendung löst beim Start sofort eine SecurityException aus:
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()
Meine Software braucht wahrscheinlich keine volle Vertrauenswürdigkeit (ich stelle nur über https eine Verbindung zu einem Webserver her und greife nur auf Anfrage des Benutzers auf das Dateisystem zu, um Daten zu importieren/exportieren)
Wie kann ich herausfinden, warum meine Anwendung volles Vertrauen erfordert?