Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: C# проект не видит MFC DLL  (Прочитано 3869 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ezus
Опытный

il
Offline Offline

« : 14-02-2011 16:40 » 

Здравствуйте.

Не могу понять в чем дело.

В VS-2010 создаю сольюшин на базе консольного C# проекта.
Создаю тут же С++ Lib проект, добавляю его в референсы первого - все Ок.
Теперь создаю C++ MFC DLL. Пытаюсь добавить его в референсы первого, получаю - низяяя.

Вопросы:
1. Почему нельзя?
Я интуитивно догадываюсь почему - С++ Lib проект оформлен уже в стиле C#, а C++ MFC DLL - по старому.

Вообще-то из всего MFC мне нужны только вспомогательные классы типа CString? Все GUI будет в WPF.
В связи с этим
2. А можно ли, и если до, то как - выдрать эти вспомогательные классы?

Спасибо.
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 14-02-2011 17:40 » 

Цитата: ezus
В VS-2010 создаю сольюшин на базе консольного C# проекта.
Создаю тут же С++ Lib проект, добавляю его в референсы первого - все Ок.
Вот это очень странно. Наверно, создаётся проект C++.NET - он без вопросов добавиться в References C#-проекта.

Цитата: ezus
Теперь создаю C++ MFC DLL. Пытаюсь добавить его в референсы первого, получаю - низяяя.
А вот это как раз логично. Нужно в свойствах проекта MFC указать, чтобы он собирался с ключом /clr - включить поддержку CLR.

Цитата: ezus
Вообще-то из всего MFC мне нужны только вспомогательные классы типа CString? Все GUI будет в WPF.
Как говорится, чем дальше в лес, тем толще партизаны. Зачем в .NET использовать CString, когда встроенный string ничем не хуже по возможностям?
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #2 : 14-02-2011 19:15 » 

ezus, что значит в твоём случае C++ MFC DLL? Есть такое понятие как dll расширения MFC. Такие библиотеки работают с MFC проектами. Может ты такую выбрал?
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
ezus
Опытный

il
Offline Offline

« Ответ #3 : 15-02-2011 07:41 » 

Приношу свои извинения за некорректность используемых понятий.
Они еще не устоялись в мой голове.

Вот это очень странно. Наверно, создаётся проект C++.NET - он без вопросов добавиться в References C#-проекта.
Да, скорее всего это так.

Цитата
А вот это как раз логично. Нужно в свойствах проекта MFC указать, чтобы он собирался с ключом /clr - включить поддержку CLR.
Спасибо попробую.

Цитата
Цитата: ezus
Вообще-то из всего MFC мне нужны только вспомогательные классы типа CString? Все GUI будет в WPF.
Как говорится, чем дальше в лес, тем толще партизаны. Зачем в .NET использовать CString, когда встроенный string ничем не хуже по возможностям?
С партизанами действительно проблема. Просто я пока не догадался найти описание C++.NET, если такое существует. Я думал, что MS С++ - это MS С++. Очевидно я ошибался.

А как быть с коллекциями? В C++.NET существуют аналоги коллекций в C#?

что значит в твоём случае C++ MFC DLL? Есть такое понятие как dll расширения MFC. Такие библиотеки работают с MFC проектами. Может ты такую выбрал?
C++ MFC DLL означает: проект в VS 2010, в разделе  C++, тип проекта MFC DLL.
Записан
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 15-02-2011 08:24 » 

А как быть с коллекциями? В C++.NET существуют аналоги коллекций в C#?
Строго говоря, есть .NET Framework, и в этом .NET Framework есть коллекции, доступные из любого языка, работающего с ним. См. примеры в MSDN для нужных коллекций: там должны быть примеры использования их как минимум в C#, VB.NET, C++.NET и ещё каких-нибудь J# и JScript
« Последнее редактирование: 15-02-2011 08:25 от Вад » Записан
ezus
Опытный

il
Offline Offline

« Ответ #5 : 15-02-2011 09:01 » 

О!! Спасибо.
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #6 : 15-02-2011 11:44 » 

что значит в твоём случае C++ MFC DLL? Есть такое понятие как dll расширения MFC. Такие библиотеки работают с MFC проектами. Может ты такую выбрал?
C++ MFC DLL означает: проект в VS 2010, в разделе  C++, тип проекта MFC DLL.

Как всё запущено. Жаль Это я ПОНЯЛ. А дальше? Вот здесь:



Обрати внимание на последнее предложение в тултипе.

* ss1.gif (8.23 Кб - загружено 588 раз.)
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
ezus
Опытный

il
Offline Offline

« Ответ #7 : 15-02-2011 12:03 » 

Спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines