Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
0 / 0 / 0
Регистрация: 06.06.2017
Сообщений: 39

COMFileReference

01.10.2025, 11:54. Показов 2022. Ответов 6

Студворк — интернет-сервис помощи студентам
Добрый день, есть некоторое количество CAD систем, позиционирующие свое API для разработки в среде vs code и использующие в своих примерах обращение к COM

XML
1
2
  <COMFileReference Include="..\..\..\tlb\XXX.tlb">
  </COMFileReference>
Но при попытки dotnet build получаю

Восстановление завершено (1,6 с)
Net8PluginWithWPF сбой с ошибками (1) (0,2 с)
C:\Program Files\dotnet\sdk\9.0.302\Microsoft.Commo n.CurrentVersion.targets(3082,5): error MSB4803: задача "ResolveComReference" не поддерживается в MSBuild версии .NET Core. Используйте MSBuild версии .NET Framework. Дополнительные сведения: https://aka.ms/msbuild/MSB4803.
Есть рекомендация от одного из разработчиков использовать vs 2022. А если нет такой возможности, сталкивался ли кто-нибудь с данной проблемой, как удалось победить?

p.s. версия vs 2015 из командной строки выдает ошибку (там нет NET):

error MSB4041: пространством имен XML по умолчанию для этого проекта должно быть пространством имен MSBuild XML. Если проект создан в формате MSBuild 2003, добавьте xmlns="http://schemas.microsoft.com/developer/msbuild/2003" в элемент <Project>. Если проект был создан в старом формате 1.0 или 1.2, преобразуйте его в формат MSBuild 2003.
0
 Аватар для Andrey-MSK
3397 / 2283 / 388
Регистрация: 14.08.2018
Сообщений: 7,765
Записей в блоге: 4
01.10.2025, 12:25
Цитата Сообщение от Irina_c Посмотреть сообщение
задача "ResolveComReference" не поддерживается в MSBuild версии .NET Core. Используйте MSBuild версии .NET Framework.
Именно эта версия MSBuild используется в VS2022.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18415 / 14346 / 5371
Регистрация: 17.03.2014
Сообщений: 29,032
Записей в блоге: 1
02.10.2025, 00:14
Цитата Сообщение от Irina_c Посмотреть сообщение
ополнительные сведения: https://aka.ms/msbuild/MSB4803.
По ссылке переходили? Там есть такой совет:
Try building the project by invoking MSBuild.exe from the Visual Studio Developer Command Prompt, since this executable uses the .NET Framework version of MSBuild.
0
0 / 0 / 0
Регистрация: 06.06.2017
Сообщений: 39
02.10.2025, 15:09  [ТС]
Именно это vs code пишет в сообщении об ошибке, по этому я и пыталась собрать msbuild из командной строки windows от visual studio 2015 версией, но там ошибка (там нет net):

error MSB4041: пространством имен XML по умолчанию для этого проекта должно быть пространством имен MSBuild XML. Если проект создан в формате MSBuild 2003, добавьте xmlns="http://schemas.microsoft.com/developer/msbuild/2003" в элемент <Project>. Если проект был создан в старом формате 1.0 или 1.2, преобразуйте его в формат MSBuild 2003.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18415 / 14346 / 5371
Регистрация: 17.03.2014
Сообщений: 29,032
Записей в блоге: 1
02.10.2025, 21:39
Irina_c, видимо у вас проект под новый .NET, в новом формате. Если хотите использовать COM, то создайте конвертируйте проект в старый формат или создайте его заново.
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
03.10.2025, 22:18
Цитата Сообщение от Irina_c Посмотреть сообщение
Но при попытки dotnet build получаю
Используйте COMReference только для debug
в файле проекта поместите это все под условие, <ItemGroup Condition="'$(Configuration)'!='Release' ">
типо такого,
Чтобы не было ошибок при сборки по зависимостям, делайте работу с com через dynamic объекты и загрузку в рантайме
для поиска типов используйте методы Type.GetTypeFromCLSID() или Type.GetTypeFromProgID()
для создания объекта из типа используйте Activator.CreateInstance(type), для освобождения объекта используйте Marshal.ReleaseComObject(typeImp), все как с обычными типами, чтобы не ошибаться в написании методов можно так же все загнать в условную компиляцию с помощью директив #if #else #endif в дебаге создавайте экземпляры напрямую, в релизе через отражение типа и загрузку. Мы используем такую практику, все работает нормально и при сборке msbuild никаких ошибок нет.
0
0 / 0 / 0
Регистрация: 06.06.2017
Сообщений: 39
09.10.2025, 13:18  [ТС]
Добрый день msbuild vs code нет проблем или vs2022?

подскажите, что включает в себя: "в файле проекта поместите это все под условие, <ItemGroup Condition="'$(Configuration)'!='Release' ">
типо такого,"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Новые блоги и статьи
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи. . . .
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru