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
Ü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