Сборка С# проекта из командной строки c помощью csc
От: qxWork Голландия http://www.jetbrains.com/company/people/Coox_Sergey.html
Дата: 12.08.04 10:11
Оценка:
Консольные приложения собираются и запускаются на ура. Приложение с формочками также собирается молча, но при запуске вываливает
MissingManifestResourceException, ибо не может найти ресурса для нейтральной культуры
Тот же самый проект собирается студией (что из IDE, что и из командной строки devenv <solution> /build) без проблем.

Чего ему может не хватать?
Re: Сборка С# проекта из командной строки c помощью csc
От: Mab Россия http://shade.msu.ru/~mab
Дата: 12.08.04 10:16
Оценка:
W>Консольные приложения собираются и запускаются на ура. Приложение с формочками также собирается молча, но при запуске вываливает
W>MissingManifestResourceException, ибо не может найти ресурса для нейтральной культуры
W>Тот же самый проект собирается студией (что из IDE, что и из командной строки devenv <solution> /build) без проблем.

W>Чего ему может не хватать?

Ну так exception сам за себя говорит -- нет ресурсов для формы, их нужно включать в сборку.

/resource:<resinfo> Embeds the specified resource (Short form: /res)

Re[2]: Сборка С# проекта из командной строки c помощью csc
От: qxWork Голландия http://www.jetbrains.com/company/people/Coox_Sergey.html
Дата: 17.08.04 11:59
Оценка:
Здравствуйте, Mab, Вы писали:

W>>Консольные приложения собираются и запускаются на ура. Приложение с формочками также собирается молча, но при запуске вываливает

W>>MissingManifestResourceException, ибо не может найти ресурса для нейтральной культуры
W>>Тот же самый проект собирается студией (что из IDE, что и из командной строки devenv <solution> /build) без проблем.

W>>Чего ему может не хватать?

Mab>Ну так exception сам за себя говорит -- нет ресурсов для формы, их нужно включать в сборку.
Mab>

Mab>/resource:<resinfo> Embeds the specified resource (Short form: /res)


проблема в следующем:
Допустим, есть простое приложение, состоящее из одного файла (за исключением AssemblyInfo.cs)
MyForm.cs следующего вида:

namespace Foo.Bar {
class MyForm : Form {
...
}
}

В форму напиханы ресурсы типа картинок внутрь imagelist'a или просто достаточно добавить к форме иконку.
Теперь откомпилируем ресурсы: ResGen.exe MyForm.resx
А потом запустим csc с такими параметрами

/out:MyApp.exe
/res:MyForm.resources
MyForm.cs
AssemblyInfo.cs

Все откомпилируется, но при запуске грохнется с exception'ом, ибо ресурсы найти не сможет. Чтобы все получилось, нужно ресурсы включать как
"/res:MyForm.resources,Foo.Bar.MyForm.resources", но совершенно непонятно, откуда взять информацию о том, что MyForm находится в просранстве имен Foo.Bar

2 вопроса:
1. Откуда можно взять эту информацию, если не парсить MyForm.cs? (и что мы будем делать, в случае VB или С++)?
2. Откуда берет эту информацию студия?

--------------------------------
From: Sergey Coox
Re[3]: Сборка С# проекта из командной строки c помощью csc
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 17.08.04 12:28
Оценка: +1
Здравствуйте, qxWork, Вы писали:

W>Все откомпилируется, но при запуске грохнется с exception'ом, ибо ресурсы найти не сможет. Чтобы все получилось, нужно ресурсы включать как

W>"/res:MyForm.resources,Foo.Bar.MyForm.resources", но совершенно непонятно, откуда взять информацию о том, что MyForm находится в просранстве имен Foo.Bar

Очень понятно — путем парсинга MyForm.cs

W>2 вопроса:

W>1. Откуда можно взять эту информацию, если не парсить MyForm.cs?

Если не парсить то неоткуда.

W> (и что мы будем делать, в случае VB или С++)?


Парсить VB или C++

W>2. Откуда берет эту информацию студия?


Парсит.
... << RSDN@Home 1.1.4 beta 2 rev. 159>>
AVK Blog
Re[3]: Сборка С# проекта из командной строки c помощью csc
От: Mab Россия http://shade.msu.ru/~mab
Дата: 17.08.04 12:31
Оценка:
W>1. Откуда можно взять эту информацию, если не парсить MyForm.cs? (и что мы будем делать, в случае VB или С++)?
Откуда ее еще _теоретически можно_ взять я не знаю, но csc task для nant-а берет инфорамацию оттуда. Им и советую пользоваться.

W>2. Откуда берет эту информацию студия?

Из исходника.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.