Проблема со ссылками на сборки в Visual Studio - PullRequest
5 голосов
/ 23 февраля 2011

Я создал новый проект в Visual Studio Proj2, и я хочу, чтобы он имел те же ссылки на сборки, что и Proj1, поэтому я открыл proj1.csproj и скопировал:

<ItemGroup>
<Reference Include="mscorlib" />
<Reference Include="system" />
<Reference Include="System.Windows" />
<Reference Include="System.Core" />
<Reference Include="System.Xml" />
<Reference Include="System.Net" />
<Reference Include="System.Windows.Browser" />
</ItemGroup>

и вставил его в proj1.csproj. Проблема в том, что моя ссылка на сборку System.Windows имеет восклицательный знак рядом с ней, и когда я пытаюсь щелкнуть по ней, она говорит:

Этот проект нельзя просмотреть в браузере объектов, поскольку он недоступен или еще не создан. Пожалуйста, убедитесь, что проект доступен и построен.

И, конечно, в моем файле .cs написано, что

Тип или пространство имен «Windows» не существует в пространстве имен «Система» (отсутствует ссылка на сборку?)

Как мне заставить работать мои ссылки на сборки?

Ответы [ 5 ]

7 голосов
/ 23 февраля 2011

Перейдите в свойства проекта и убедитесь, что вы ориентируетесь как минимум на Framework 3.0.

2 голосов
/ 23 февраля 2011

Да, похоже, что есть проблема с версией Framework, на которую нацелен ваш проект.Попробуйте установить proj2, чтобы иметь ту же целевую структуру, что и proj1.

Это можно сделать, щелкнув правой кнопкой мыши проект в обозревателе решений в Visual Studio, выбрав Свойства и просмотрев раскрывающийся список Target Framework на вкладке Приложение.

Кроме того, можно открытьфайлы .csproj и убедитесь, что они имеют соответствующие теги TargetFrameworkVersion.Этот тег обычно находится в ProperyGroup в верхней части файла.

2 голосов
/ 23 февраля 2011

Учитывая ваш комментарий к обновлению, вот список сборок в профиле клиента .Скорее всего, вам потребуется ссылка на полную версию .NET 4 Framework для использования System.Windows ...

. Также обратите внимание, что System.Windows.dll не инкапсулирует пространство имен System.Windows;большая часть этого пространства имен распределена по Presentation*.dll сборкам.Дважды проверьте, что фактические ссылки, используемые вашим первым проектом, появляются во втором, для начала.

Также, пожалуйста, рассмотрите возможность размещения кода из файла .cs, который приводит к этой ошибке;возможно, используемый вами тип фактически содержится в другой сборке, на которую вы не ссылаетесь.

2 голосов
/ 23 февраля 2011

System.Windows - это WPF, и для него требуется как минимум .NET 3.0, на который должен быть нацелен проект.

0 голосов
/ 17 октября 2011

Щелкните правой кнопкой мыши по проекту и перейдите в «Добавить ссылки».

Добавьте последнюю версию сборки System.Windows.

Тогда должно работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...