2017-02-15 10 views
0

Я создал проект WPF Visual Studio 2015 на компьютере с Windows 7 x86. Цель платформы - «Любой процессор», но флажок «Предпочитаете 32-бит». Компиляция кода и приложение WPF работают.Миграция проекта Visual Studio WPF

Затем я установил Visual Studio 2015 на машину Windows Server 2012 R2 x64 и скопировал всю папку решений VS на новую машину.

Теперь похоже, что VS2015 не признает, что проект является проектом WPF. Я получаю ошибки как

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

или

'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?)

в .xaml.cs файлов всех моих WPF окна.

Пространство имен имен или классов не изменилось при копировании VS-решения. Мне нужно было удалить и повторно добавить ссылку на Microsoft.Office.Core.

Кроме того, новая машина не имеет подключения к Интернету. Я не знаю, может ли это что-то изменить.

Любые идеи кто-нибудь?


Edit1: Кроме того, я получаю предупреждение

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: Когда на старой машине, я добавил несколько библиотек DLL к проекту, может быть, что эти явно для x86? Но почему же VS2015 не распознает проект WPF? Эти библиотеки являются:

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

Проверьте версию .Net на обеих системах и в ваших целевых настройках проекта, она может отличаться от той, что у вас есть на сервере. Если это небольшой проект, вы можете попробовать удалить файл решения или даже заново создать проект и добавить в него существующие вещи. И проверьте, какие системные цели вы используете, и mb попытайтесь установить проект для x86 явно. – Shakra

ответ

0

я узнал, что вызвало мою проблему:

После проверки версии .net и другие параметры я сдалась и просто создал новый проект WPF в VS2015 на x64 машине, добавлены новые WPF-окна и классы и просто вставил код. Мне пришлось добавить ссылки на представление, и в конце концов отсутствовал только Microsoft.ReportViewer.WebForms.dll. Мне пришлось извлечь его с C:\\Windows\Microsoft.NET\assembly\GAC_MSIL\ и вручную добавить в ссылки на мои проекты.

Так что, глядя на старый проект (x86), все, что мне нужно было сделать, это также добавить Microsoft.ReportViewer.WebForms.dll в проект и скомпилировать его правильно. Странно, однако, что я не получил никакой ошибки по отсутствующей ссылке.