macika123 Ответов: 1

Почему Visual Studio не сохраняет новый лист свойств?


Всем привет!

Во-первых, это не так уж и важно, я могу решить проблему ручным редактированием конфигурационных файлов, но мне любопытно, почему это происходит. Так что если вы действительно не хотите читать весь мой роман, Не тратьте свое время :) .

В настоящее время у меня есть решение, содержащее 2 проекта C# и 1, написанный на C++/CLI. Все проекты ориентированы на версию .NET 4.5, и я использую Visual Studio Express 2012 для рабочего стола Windows.
У меня есть небольшая проблема с проектом C++/CLI, который представляет собой проект-оболочку для библиотеки обработки изображений, использующей OpenCV. Я настроил зависимости библиотеки для OpenCV, используя листы свойств как для конфигурации выпуска, так и для отладки.

Когда я создал первый лист свойств, все было в порядке. Второй лист свойств был создан частично. Независимо от того, что я сделал в Visual Studio, он не сохранил свойство дополнительных зависимостей. Мне пришлось вручную отредактировать файл .props и перезапустить Visual Studio.

Третий лист собственности даже не был сохранен. Ну, по крайней мере, файл .props был создан с некоторым базовым содержимым, но ни одна из моих настроек не была сохранена.

В каждом случае я нажимал кнопку Добавить новый лист свойств проекта в Диспетчере свойств. Не похоже, чтобы я делал что-то особенное между каждым созданием листа, просто компилируя решение. Я не вижу ошибок в Visual Studio, когда нажимаю кнопку Применить или ОК в свойствах листа свойств, однако компоновщик не распознал библиотеки, пока я не отредактировал файл .props в блокноте.

Теперь вот эти файлы и сообщения об ошибках:

Сообщение об ошибке компилятора(что нормально, так как файл .props не сохранил информацию о дополнительном каталоге include):
Error	1	error C1083: Cannot open include file: 'Feature.h': No such file or directory	C:\Users\...\Documents\Visual Studio 2012\Projects\Solution1\Project3\Image.cpp	8	1	Project3



Я не знаю, поможет ли это, но это мои текущие файлы .props:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ImportGroup Label="PropertySheets" />
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <LibraryPath>C:\opencv\build\x86\vc11\lib;$(LibraryPath)</LibraryPath>
  </PropertyGroup>
  <ItemDefinitionGroup>
    <ClCompile>
      <AdditionalIncludeDirectories>C:\opencv\build\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
    </ClCompile>
    <Link>
      <AdditionalLibraryDirectories>C:\opencv\build\x86\vc11\bin;C:\opencv\build\x86\vc11\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <AdditionalDependencies>opencv_calib3d2410d.lib;opencv_contrib2410d.lib;opencv_core2410d.lib;opencv_features2d2410d.lib;opencv_flann2410d.lib;opencv_gpu2410d.lib;opencv_highgui2410d.lib;opencv_imgproc2410d.lib;opencv_legacy2410d.lib;opencv_ml2410d.lib;opencv_nonfree2410d.lib;opencv_objdetect2410d.lib;opencv_ocl2410d.lib;opencv_photo2410d.lib;opencv_stitching2410d.lib;opencv_superres2410d.lib;opencv_ts2410d.lib;opencv_video2410d.lib;opencv_videostab2410d.lib;%(AdditionalDependencies)</AdditionalDependencies>
    </Link>
    <ProjectReference>
      <UseLibraryDependencyInputs>true</UseLibraryDependencyInputs>
    </ProjectReference>
  </ItemDefinitionGroup>
  <ItemGroup />
</Project>


Третий "пустой" файл .props:
<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ImportGroup Label="PropertySheets" />
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup />
  <ItemDefinitionGroup />
  <ItemGroup />
</Project>


Ответ:

Ну а ответ таков, что проблема была между стулом и экраном компьютера Smile | :) .

После редактирования свойств для этого конкретного листа свойств вы должны сохранить его с помощью правая кнопка мышиИнг на нем и выбор Сохранить "NameOfPropertySheet"

Я совсем онемел. Кажется, что в первый раз я щелкнул меню или нажал Ctrl+S, но позже забыл об этом. Честно говоря, это был первый раз, когда я использовал листы свойств Visual Studio, и почему-то я предположил, что нажатие кнопки OK сохраняет их.

В любом случае, все, что имеет значение, все работает так, как должно.

1 Ответов

Рейтинг:
1

Member 13594429

Такая же забавная вещь случилась и со мной :-). Я действительно использовал кнопку "Сохранить все" на панели инструментов, чтобы сохранить лист свойств, но это не сработало.