2017-02-15 6 views
0

Ich erstellte ein Visual Studio 2015 WPF-Projekt auf einem Windows 7 x 86-Computer. Das Plattformziel ist "Beliebige CPU", aber das Kontrollkästchen "32-Bit bevorzugen" ist aktiviert. Der Code kompiliert und die WPF-Anwendung funktioniert.Visual Studio WPF-Projektmigration

Dann habe ich Visual Studio 2015 auf einem Windows Server 2012 R2 x64-Rechner installiert und den gesamten VS-Lösungsordner auf den neuen Rechner kopiert.

Nun scheint es, als ob VS2015 nicht erkennt, dass das Projekt ein WPF-Projekt mehr ist. Ich bekomme Fehler wie

The name 'InitializeComponent' does not exist in the current context

oder

'AddService' does not contain a definition for 'sLAModelText' and no extension method 'sLAModelText' accepting a first argument of type 'AddService' could be found (are you missing a using directive or an assembly reference?)

in den .xaml.cs Dateien aller meiner WPF-Fenster.

Keine Namespace oder Klassennamen geändert, wenn ich die VS-Lösung kopierte. Ich musste nur den Verweis auf Microsoft.Office.Core löschen und neu hinzufügen.

Auch die neue Maschine hat keine Verbindung zum Internet. Ich weiß nicht, ob das etwas ändern könnte.

Irgendwelche Ideen jemand?


Edit1: Auch, erhalte ich eine Warnung

Unknown build error, 'Cannot resolve dependency to assembly 'Microsoft.SharePoint.Client.Runtime, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' because it has not been preloaded. When using the ReflectionOnly APIs, dependent assemblies must be pre-loaded or loaded on demand through the ReflectionOnlyAssemblyResolve event.'


Edit2: Wenn auf der alten Maschine, habe ich ein paar DLLs zu dem Projekt hinzugefügt, könnte es sein, dass diese explizit für x86? Aber warum sollte VS2015 das WPF-Projekt nicht erkennen? Diese DLLs sind:

Microsoft.Office.Client.Education.dll 
Microsoft.ReportViewer.WinForms.dll 
Microsoft.SharePointClientRuntime.dll 
Microsoft.SqlServer.Types.dll 
MigraDoc.DocumentObjectModel-WPF.dll 
MigraDoc.Rendering-WPF.dll 
MigraDoc.RtfRendering-WPF.dll 
PdfSharp.Charting-WPF.dll 
PdfShart-WPF.dll 
+0

Überprüfen Sie die .Net-Version auf beiden Systemen und in den Zieleinstellungen Ihres Projekts. Diese kann sich von der auf dem Server unterscheiden. Wenn es sich um ein kleines Projekt handelt, können Sie versuchen, die Lösungsdatei zu löschen oder sogar ein Projekt neu zu erstellen und darin vorhandene Inhalte hinzuzufügen. Und überprüfen Sie, welche Systemziele Sie libs, und mb versuchen, Ihr Projekt für x86 explizit festzulegen. – Shakra

Antwort

0

ich herausgefunden habe, was mein Problem verursacht:

Nach Überprüfung der .net-Version und andere Einstellungen, die ich aufgegeben und gerade ein neues WPF-Projekt in VS2015 auf der x64-Maschine erstellt, neu hinzugefügt WPF-Fenster und Klassen und nur den Code eingefügt. Ich musste eine Referenz hinzufügen und am Ende fehlte nur die Microsoft.ReportViewer.WebForms.dll. Ich musste es aus C:\\Windows\Microsoft.NET\assembly\GAC_MSIL\ extrahieren und manuell zu den Referenzen meines Projekts hinzufügen.

Also, wenn ich das alte Projekt (x86) betrachtete, musste ich nur das Microsoft.ReportViewer.WebForms.dll zum Projekt hinzufügen und es korrekt kompilieren. Das Seltsame ist jedoch, dass ich bei einer fehlenden Referenz keinen Fehler erhalten habe.

Verwandte Themen