Laden...

WPF Designer wirft beim Öffnen Ausnahmefehler

Erstellt von tobi45f vor 3 Jahren Letzter Beitrag vor 3 Jahren 808 Views
T
tobi45f Themenstarter:in
59 Beiträge seit 2017
vor 3 Jahren
WPF Designer wirft beim Öffnen Ausnahmefehler

Hallo zusammen,

ich arbeite an einem kleinen Projekt nebenher, dass jetzt mal einige Wochen liegen geblieben ist. Als ich es grade eben weiter angehen wollte musste ich feststellen, dass der Designer einen Fehler ausgibt, den ich noch nicht hatte und ich gar nicht weiß, was man da macht. Sprich: Ich brauche hilfe 😉

"Ein Ausnahmefehler ist aufgetreten.
Klicken Sie hier, um den Designer neu zu laden.
Klicken Sie hier, um das Ausführen von Projektcode zu deaktivieren und den Designer erneut zu laden (dies kann die Stabilität des Designers verbessern).
Weitere Informationen zum Ausführen von Projektcode
Details:

Fehlermeldung:
System.UnauthorizedAccessException
Zugriff verweigert (Ausnahme von HRESULT: 0x80070005 (E_ACCESSDENIED))
bei System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence evidence)
bei System.Reflection.Assembly.LoadFile(String path)
bei Microsoft.VisualStudio.DesignTools.Utility.AssemblyHelper.LoadFile(String path, Action1 logger) bei Microsoft.VisualStudio.DesignTools.Designer.Metadata.Assemblies.AssemblyService.CreateClassicShadowCopy(String assemblyPath, String projectPath, ReferenceAssemblyContext context, Boolean useReflectionOnlyLoad) bei Microsoft.VisualStudio.DesignTools.Designer.Metadata.Assemblies.AssemblyService.ResolveShadowCopyAssembly(String assemblyPath, String projectPath, ReferenceAssemblyContext context, Boolean useReflectionOnlyLoad) bei Microsoft.VisualStudio.DesignTools.Designer.Metadata.Assemblies.AssemblyService.ResolveAssembly(String assemblyPath, String assemblyFullName, String projectPath, ReferenceAssemblyContext context, Boolean useReflectionOnlyLoad) bei Microsoft.VisualStudio.DesignTools.Designer.Metadata.Assemblies.ProjectAssemblyResolver.GetAssemblyInformationInternal(String path) bei Microsoft.VisualStudio.DesignTools.Designer.Metadata.Assemblies.ProjectAssemblyResolver.GetAssemblyInformation(String assemblyLocation) bei Microsoft.VisualStudio.DesignTools.Designer.Metadata.Assemblies.ProjectAssemblyResolver.InternalAddAssemblyReference(String assemblyLocation) bei Microsoft.VisualStudio.DesignTools.Designer.Metadata.Assemblies.ProjectAssemblyResolver.UpdateAssemblyReferences(IEnumerable1 referencesToUpdate)
bei Microsoft.VisualStudio.DesignTools.Designer.Metadata.Assemblies.ProjectAssemblyResolver.Initialize()
bei Microsoft.VisualStudio.DesignTools.Designer.Metadata.Assemblies.ProjectAssemblyService.GetProjectAssemblyResolver(IHostProject project)
bei Microsoft.VisualStudio.DesignTools.Designer.Metadata.Assemblies.ProjectAssemblyService.CreatePlatformReferenceAssemblyResolver(IHostProject project)
bei Microsoft.VisualStudio.DesignTools.Designer.Documents.Project.ProjectContextManager.CreatePlatformReferenceAssemblyResolver(IHostProject project)
bei Microsoft.VisualStudio.DesignTools.Designer.Documents.Project.ProjectContextManager.GetProjectContext(IHostProject project, IPlatform platform, Boolean create)
bei Microsoft.VisualStudio.DesignTools.Designer.Documents.Project.ProjectContextManager.GetSourceItemContext(IHostSourceItem sourceItem)
bei Microsoft.VisualStudio.DesignTools.Designer.DesignerService.CreateDesigner(IHostSourceItem item, IHostTextEditor editor, CancellationToken cancelToken)
bei Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.RemoteDesignerService.<>c__DisplayClass12_0.<Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.IRemoteDesignerService.CreateDesigner>b__0(CancellationToken cancelToken)
bei Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.RemoteDesignerService.<>c__DisplayClass6_0`1.<MarshalInWithCancellation>b__0()
bei Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.STAMarshaler.Call.InvokeWorker()

System.UnauthorizedAccessException
Zugriff verweigert (Ausnahme von HRESULT: 0x80070005 (E_ACCESSDENIED))

Server stack trace:
bei Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.STAMarshaler.WaitForCompletion(NestedCallContext nestedCallContext, BlockingCall call, WaitHandle timeoutSignal)
bei Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.STAMarshaler.MarshalInSynchronous(Action action, Int32 targetApartmentId, CancellationToken cancelToken, CallModality callModality, String methodName, String filePath, Int32 lineNumber)
bei Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.STAMarshaler.MarshalIn(Action action, Int32 targetApartmentId, CancellationToken cancelToken, CallSynchronizationMode syncMode, CallModality callModality, String methodName, String filePath, Int32 lineNumber)
bei Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.ThreadMarshaler.MarshalIn(IRemoteObject targetObject, Action action, CancellationToken cancelToken, CallSynchronizationMode syncMode, CallModality callModality, ApartmentState apartmentState, String memberName, String filePath, Int32 lineNumber)
bei Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.RemoteDesignerService.MarshalInWithCancellation[TResult](IRemoteCancellationToken remoteToken, Func`2 func, ApartmentState apartmentState)
bei Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.RemoteDesignerService.Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.IRemoteDesignerService.CreateDesigner(IRemoteHostProject remoteProject, IRemoteHostSourceItem remoteItem, IRemoteHostTextEditor remoteEditor, IRemoteCancellationToken remoteToken)
bei System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
bei System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)

Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
bei Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.IRemoteDesignerService.CreateDesigner(IRemoteHostProject remoteProject, IRemoteHostSourceItem remoteItem, IRemoteHostTextEditor remoteEditor, IRemoteCancellationToken cancelToken)
bei Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.LocalDesignerService.CreateDesignerImpl(IRemoteDesignerService ds, IHostSourceItem item, IHostTextEditor editor, RemoteCancellationToken remoteCancelToken)
bei Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.LocalDesignerService.<>c__DisplayClass14_0.<Microsoft.VisualStudio.DesignTools.DesignerContract.IDesignerService.CreateDesigner>b__0(IRemoteDesignerService ds, RemoteCancellationToken remoteToken)
bei Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.LocalDesignerService.<>c__DisplayClass5_01.&lt;MarshalOutWithCancellation&gt;b__0(IRemoteDesignerService ds) bei Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.ThreadMarshaler.&lt;&gt;c__DisplayClass30_01.<MarshalOut>b__0()
bei Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.STAMarshaler.Call.InvokeWorker()

System.UnauthorizedAccessException
Zugriff verweigert (Ausnahme von HRESULT: 0x80070005 (E_ACCESSDENIED))
bei Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.STAMarshaler.WaitForCompletion(NestedCallContext nestedCallContext, BlockingCall call, WaitHandle timeoutSignal)
bei Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.STAMarshaler.MarshalOutSynchronous(Action action, Int32 targetApartmentId, WaitHandle aborted, WaitHandle timeoutSignal, CancellationToken cancelToken, String methodName, String filePath, Int32 lineNumber)
bei Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.STAMarshaler.MarshalOut(Action action, Int32 targetApartmentId, WaitHandle aborted, CancellationToken cancelToken, CallSynchronizationMode syncMode, WaitHandle timeoutSignal, String methodName, String filePath, Int32 lineNumber)
bei Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.ThreadMarshaler.MarshalOut[TValue](RemoteHandle1 targetObject, Action action, CancellationToken cancelToken, CallSynchronizationMode syncMode, ApartmentState apartmentState, String methodName, String filePath, Int32 lineNumber) bei Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.ThreadMarshaler.MarshalOut[TValue](RemoteHandle1 targetObject, Action1 action, CancellationToken cancelToken, CallSynchronizationMode syncMode, ApartmentState apartmentState, String methodName, String filePath, Int32 lineNumber) bei Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.LocalDesignerService.MarshalOutWithCancellation[TResult](CancellationToken cancelToken, Func3 func, ApartmentState apartmentState)
bei Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.LocalDesignerService.Microsoft.VisualStudio.DesignTools.DesignerContract.IDesignerService.CreateDesigner(IHostSourceItem item, IHostTextEditor editor, CancellationToken cancelToken)
bei Microsoft.VisualStudio.DesignTools.DesignerContract.IsolatedDesignerService.IsolatedDesignerView.CreateDesignerViewInfo(CancellationToken cancelToken)

Aus dem Fehlercode lese ich leider nichts raus, jemand von euch vielleicht?

Die beiden ersten "Klicken Sie hier" bringen nix, da lädt dasselbe Bild, ohne dass irgendwas anders ist.
Dem nach habe ich Debuggen gestartet und anschließend zeigt er mir an, dass er Probleme hat mit den Interaction Triggers.

Ich habe über NuGet all meine Verweise aktualisiert, aber der Fehler besteht weiterhin.

Fehlermeldung:
Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand
Fehler Das Tag "Interaction.Triggers" ist im XML-Namespace "http://schemas.microsoft.com/expression/2010/interactivity" nicht vorhanden. Zeile 473 Position 34

Er meckert jetzt an allen EventTriggern, die ich bei Checkboxen, Comboboxen oder Textfeldern eingebaut habe (die aber zuvor, vor einigen Wochen, tadellos funktioniert hatten):


...
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
...

<ComboBox ...>
                                                            <i:Interaction.Triggers>
                                                                <i:EventTrigger EventName="DropDownClosed">
                                                                    <i:InvokeCommandAction Command="{Binding WriteChanges}"/>
                                                                </i:EventTrigger>
                                                            </i:Interaction.Triggers>

So dann habe ich testweise mal alle Interaction Triggers und auch den Verweis gelöscht. Dennoch kann der Designer nicht geladen werden. Beim Debuggen wird auch kein Fehler mehr angezeigt, das Projekt startet mit dem View, Änderungen, die ich per Code schreibe, werden auch übernommen aber in Visual Studios ist nach wie vor das Laden des Views im Designer nicht möglich.

Hat jemand eine Ahnung, woher das kommt und wie ich mein Projekt wieder hergestellt bekomme?

🤔 X( Vielen Dank schon einmal im Voraus!
Gruß Tobi

edit: Ich habe grade mal versucht, einen zweiten View einzubauen mit der Idee, die Inhalte nach und nach rüber zu schieben und gucken, wann er das Problem hat. Allerdings hat er bereits beim Blanko WPF Fenster denselben Fehler. Was heißt das? Liegt es an den Verweisen, die im Projekt selbst sind?

<Window x:Class="SincalToolkitMVVM.View.test"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:SincalToolkitMVVM.View"
        mc:Ignorable="d"
        Title="test" Height="450" Width="800">
    <Grid>
        
    </Grid>
</Window>
Information von MrSparkle vor 3 Jahren

Link auf externen Filehoster entfernt, bitte lade das Bild als Dateianhang hoch.
[Hinweis] Wie poste ich richtig?, Punkt 6.1

5.657 Beiträge seit 2006
vor 3 Jahren

Siehe die Doku zu UnauthorizedAccessException

thrown when the operating system denies access

Offenbar hat VS keine Rechte, auf die Dateien zuzugreifen.

Weeks of programming can save you hours of planning

T
tobi45f Themenstarter:in
59 Beiträge seit 2017
vor 3 Jahren

Hallo,

den Fehler mit der Interactivity konnte ich beheben: Ich hatte zuvor das Paket Expression.Blend.Sdk installiert. In einem Thread zu dem Fehler habe ich gelesen, dass Microsoft.SDK.Expresion.Blend (Hnsan Pringle) helfen soll - tuts auch. Allerdings ist mir schleierhaft, wo der Fehler auf einmal her kommt, wenn es vorher lief?

Allerdings hatte der Fehler interessanterweise nichts mit dem UnauthorizedAccessException zu tun.

Dieser soll wohl von Microsoft.Office.Interop.Excel verursacht werden. Auch hier die Frage: Woher kommt das von jetzt auf gleich? Verstehe ich nicht 🤔 Wenn ich das Paket rauswerfe und meinen Code auskommentiere, dann lädt der Designer wieder.

Mir ist es schleierhaft, was der Excel-Code und der Verweis mit der Darstellung im Designer zu tun hat?
Welche Möglichkeiten habe ich, auf Excel zuzugreifen, aber eben ohne Interop.Excel?

2.078 Beiträge seit 2012
vor 3 Jahren

OpenXml - Microsoft bietet ein eigenes Framework dafür.
Damit solltest Du die Excel-Dateien frei bearbeiten können und brauchst auch kein Excel installiert haben.

Ich persönlich finde das aber alles andere als übersichtlich oder intuitiv, daher empfehle ich das Framework "ClosedXml".
Das baut auf OpenXml auf, macht das aber um Welten intuitiver.

Excel selber steuern kannst Du damit allerdings nicht, das geht meines Wissens nach nur über Interop.