Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> C# + VB.Net, Совместное написание кода. 
:(
    Опции темы
Goganchic
Дата 3.10.2006, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 678
Регистрация: 18.6.2004

Репутация: нет
Всего: 5



Указываю ему .Net exe-шку, сделанную в той же VisualStudio, а он ругается, мол: "A reference ... coudn't be added. This is not a valid assembly or COM component only assemblies with extention 'dll' and COM components can be refenenced. Please make sure that the file is accessible, and it is a valid assembly or COM component." Ну так, какие соображения по этому поводу?
PM Jabber   Вверх
ivashkanet
Дата 3.10.2006, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(Cr@$h @  3.10.2006,  16:08 Найти цитируемый пост)
Которую, интересно, можно ли будет запускать из другой, основной, сборки?

Вообще можно что угодно запустить из сборки 
Код
System.Diagnostics.Process.Start()

А по сути --- не понял вопроса  smile 
Зачем что-то запускать из запущенной сборки (кроме совершенно независимого приложения, см. выше)? Просто можно пользоваться кодом сборки как своим.

Добавлено @ 16:24 
Цитата(Goganchic @  3.10.2006,  16:14 Найти цитируемый пост)
Указываю ему .Net exe-шку, сделанную в той же VisualStudio

Все работает  smile Только что проверял

Добавлено @ 16:25 
И код выполняется.
Подключил к C# приложение на ВБ  smile 

PM MAIL WWW ICQ   Вверх
Exception
Дата 3.10.2006, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Цитата($tatic @  1.10.2006,  16:08 Найти цитируемый пост)
Для ясности - в одном проекте использовать и C#, и VB нельзя. Многоязычность работает только в пределах решений (solutions)


Это если работать в Visual Studio. Можно вручную скомпилировать один набор файлов в модуль, а потом присоединить модуль к файлам сборки на другом языке, и они скомпонуются в одну сборку. Или можно объединить сборки утилитой ILMerge.


Цитата(Wanderer2019 @  2.10.2006,  10:20 Найти цитируемый пост)
Нет... Просто стандартный Using (для C#)


using открывает пространство имён, а не даёт ссылку на сборку.

Цитата(Cr@$h @  2.10.2006,  15:57 Найти цитируемый пост)
это ещё может быть ".Net'овская exe'шка" (на сколько я знаю)


Начиная с версии 2.0.

Цитата(Cr@$h @  3.10.2006,  17:08 Найти цитируемый пост)
Которую, интересно, можно ли будет запускать из другой, основной, сборки? 


Вероятно, да.

PM   Вверх
Cr@$h
Дата 3.10.2006, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 1
Всего: 41



Цитата(ivashkanet @  3.10.2006,  17:17 Найти цитируемый пост)
Зачем что-то запускать из запущенной сборки (кроме совершенно независимого приложения, см. выше)? Просто можно пользоваться кодом сборки как своим.

Запускать main другого класса, который лежит в исполняемой сборке...
Цитата(Goganchic @  3.10.2006,  17:14 Найти цитируемый пост)
Ну так, какие соображения по этому поводу?

Вот, например
Цитата(Exception @  3.10.2006,  17:29 Найти цитируемый пост)
Начиная с версии 2.0.

Похоже, так и есть.

Цитата(Exception @  3.10.2006,  17:29 Найти цитируемый пост)
Можно вручную скомпилировать один набор файлов в модуль

Модуль? Это dll'ка будет что ли?
PM MAIL ICQ   Вверх
ivashkanet
Дата 3.10.2006, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(Cr@$h @  3.10.2006,  17:34 Найти цитируемый пост)
Запускать main другого класса, который лежит в исполняемой сборке...


Если к нему есть доступ, то да. Но по умолчанию она объявлена как private (как и весь класс Program)
PM MAIL WWW ICQ   Вверх
Cr@$h
Дата 3.10.2006, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 1
Всего: 41



Цитата(ivashkanet @  3.10.2006,  18:52 Найти цитируемый пост)
как и весь класс Program

?
PM MAIL ICQ   Вверх
Exception
Дата 3.10.2006, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Цитата(Cr@$h @  3.10.2006,  18:34 Найти цитируемый пост)
Модуль? Это dll'ка будет что ли? 


Нет, это будет модуль с расширением .netmodule. Потом его можно прилинковать при компиляции к другой сборке.

Добавлено @ 18:51 
Цитата(ivashkanet @  3.10.2006,  18:52 Найти цитируемый пост)
Но по умолчанию она объявлена как private


Я не догоняю, Main() ведь всегда public static...
PM   Вверх
Cr@$h
Дата 3.10.2006, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 1
Всего: 41



Цитата(Exception @  3.10.2006,  19:50 Найти цитируемый пост)
Я не догоняю, Main() ведь всегда public static... 

Вот и я про то. Можно ли вызвать во втром ДотНете из исполняемой сборки метод main?
PM MAIL ICQ   Вверх
ivashkanet
Дата 3.10.2006, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(Exception @  3.10.2006,  18:50 Найти цитируемый пост)
Я не догоняю, Main() ведь всегда public static...

Создайте новый проект и загляните в класс Program? в котором и находиться Main. Так вот ни для main ни для его класса Program не стоит модификатора доступа. Следовательно оба они Private.
Код

namespace WindowsApplication1
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}


Более того, если сборку подключить к другой, то доступа к main не будет, но если сделать их Public, то достучаться до них легко: WindowsApplication1.Program.Main
Цитата(Cr@$h @  3.10.2006,  18:57 Найти цитируемый пост)
Вот и я про то. Можно ли вызвать во втром ДотНете из исполняемой сборки метод main?

Я ответил выше smile
PM MAIL WWW ICQ   Вверх
Cr@$h
Дата 3.10.2006, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 1
Всего: 41



А что будет? Второй процесс, второй поток, или всё в том же потоке будет запускаться, как обычный метод?
PM MAIL ICQ   Вверх
Goganchic
Дата 3.10.2006, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 678
Регистрация: 18.6.2004

Репутация: нет
Всего: 5



Ах вон оно что. Значит у меня просто проблемы со средствами: у меня стоит Visual Studio 2003, значит поставлю 2005-й и все будет ок
PM Jabber   Вверх
ivashkanet
Дата 3.10.2006, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(Cr@$h @  3.10.2006,  21:23 Найти цитируемый пост)
А что будет? Второй процесс, второй поток, или всё в том же потоке будет запускаться, как обычный метод?

Main запустится в том же потоке, но так как там форма, то она уже будет крутиться в отдельном потоке

Добавлено @ 21:27 
Цитата(Cr@$h @  3.10.2006,  21:23 Найти цитируемый пост)
 как обычный метод

да так smile Ведь при подключении сборки мы просто имеем доступ к ее коду и ресурсам и все smile А main это просто метод, только с него все начинается smile
PM MAIL WWW ICQ   Вверх
Cr@$h
Дата 3.10.2006, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 1
Всего: 41



Цитата(ivashkanet @  3.10.2006,  22:25 Найти цитируемый пост)
Main запустится в том же потоке, но так как там форма, то она уже будет крутиться в отдельном потоке

 smile 
Цитата(ivashkanet @  3.10.2006,  22:25 Найти цитируемый пост)
А main это просто метод, только с него все начинается 

Да вот и не такой уж и простой...
PM MAIL ICQ   Вверх
reloni
Дата 3.10.2006, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 10.5.2006
Где: Москва

Репутация: 3
Всего: 4



Цитата(ivashkanet @  3.10.2006,  22:19 Найти цитируемый пост)
Следовательно оба они Private.

Класс Program - Internal, a не Private:)
PM MAIL ICQ   Вверх
mr.DUDA
Дата 3.10.2006, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(reloni @  3.10.2006,  23:14 Найти цитируемый пост)
Класс Program - Internal, a не Private:)

Ага, только это для классов, объявленных в namespace; а вот для nested-классов уже работают все пять модификаторов: public, protected, protected internal, private и internal smile

Добавлено @ 23:23 
Цитата
Top-level types, which are not nested into other types, can only have internal or public accessibility. The default accessibility for these types is internal. Nested types, which are members of other types, can have declared accessibilities as indicated in the following table.

enum:
 public
 None
 
class:
 private
 public
 protected
 internal
 private
 protected internal
 
interface:
 public
 None
 
struct:
 private
 public
 internal
 private



--------------------
user posted image
PM MAIL WWW   Вверх
Страницы: (4) Все 1 [2] 3 4 
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0628 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.