Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / опции построения решения / 13 сообщений из 13, страница 1 из 1
17.12.2014, 18:41
    #38836326
опции построения решения
Почему когда я в среде Visual Studio даю команду построение -> построить решение, то файлы появляются и в папке bin, и в папке obj? Можно как-то сделать так, чтобы решение появлялось только в bin? В свойствах у меня стоит Активная конфигурация -> Release|Any CPU, и путь вывода bin/Release.
И второй вопрос. Когда компилирую решение в виде файла библиотеки .dll, то в этой же папке появляется файл Source Browser Database. Для чего этот файл нужен? Можно сделать чтобы он не появлялся? (возможно это глупый вопрос).
...
Рейтинг: 0 / 0
17.12.2014, 19:19
    #38836362
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
опции построения решения
Изучающий си решеткаПочему когда я в среде Visual Studio даю команду построение -> построить решение, то файлы появляются и в папке bin, и в папке obj?
Потому что разработчики компиляторов/среды решили что так нужно.

Изучающий си решеткаМожно как-то сделать так, чтобы решение появлялось только в bin?
Нет. Просто не обращаай внимание на папку obj и всё.

Изучающий си решеткаКогда компилирую решение в виде файла библиотеки .dll, то в этой же папке появляется файл Source Browser Database. Для чего этот файл нужен?
Может Program Debug Database (*.pdb)?
...
Рейтинг: 0 / 0
17.12.2014, 19:45
    #38836388
опции построения решения
bazile,

да, расширение .pdb но называется Source Browser Database (.pdb). Как понимаю он тоже встроенный и от него не избавишься.
...
Рейтинг: 0 / 0
17.12.2014, 20:01
    #38836400
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
опции построения решения
Изучающий си решетка,

pdb - файл с содержванием символов отладки. Создается при компиляции в Debug mode.
...
Рейтинг: 0 / 0
17.12.2014, 20:01
    #38836402
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
опции построения решения
Изучающий си решетка, в pdb файле хранится информация для отладчика, но он может использоваться и во время исполнения. Например, при построении трассировки стека для исключения. Его можно убрать, но лучше не надо. Если он тебе не нужен - игнорируй его. Если понадобится, то он уже есть.

Изучающий си решеткарасширение .pdb но называется Source Browser Database
Правильное название все-таки "Program Debug Database". У тебя видиио установлено какое-то не Microsoft приложение которое использует файлы с расширением pdb для других целей.
...
Рейтинг: 0 / 0
17.12.2014, 20:02
    #38836405
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
опции построения решения
AxeleronСоздается при компиляции в Debug mode.
В Release он тоже создается, но содержит меньше информации.
...
Рейтинг: 0 / 0
17.12.2014, 20:26
    #38836414
опции построения решения
bazile,

вопрос про свою библиотеку. Чтобы не таскать файлы исходного кода из проекта в проект, я решил сделать один проект .dll с общими классами и добавлять в References каждого проекта этот один dll. Проблема в том, что проекты то видят его, то нет. Или видят, решение компилируют, а при запуске выдается сообщение что файл не найден. Как такое может быть? Один раз проект потребовал строгую подпись. Пробовал устанавливать свойство "Копировать локально" в False, тоже не помогает. В чем может быть косяк?
...
Рейтинг: 0 / 0
17.12.2014, 20:39
    #38836425
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
опции построения решения
Изучающий си решетка, если проект библиотеки и проекты использующие её находятся в одном солюшене, то убедись что ты сделал project reference на библиотеку, а не указал явно файл из папки debug или release.

Если проекты находятся в разных солюшенах, то reference на dll файл это единственный вариант и он должен работать без проблем при условии что dll файл на месте.

Изучающий си решеткаОдин раз проект потребовал строгую подпись.
Скорее всего ты компилировал сборку со строгим именем и сделал ссылку на сборку без него. Из соображений безопасности это не разрешено. Сборка со строгим именем может ссылаться только на сборки со строгим именем.

Изучающий си решеткаПробовал устанавливать свойство "Копировать локально" в False, тоже не помогает.
Верни обратно в true. У тебя похоже сборка без строго имени и она должна лежать рядом с exe чтобы приложение могло найти её и загрузить. Copy Local = true это обеспечит.
...
Рейтинг: 0 / 0
17.12.2014, 22:27
    #38836485
опции построения решения
bazile,

на одном проекте работает, на другом такая ошибка:

"Необработанное исключение типа "System.InvalidOperationException" в mscorlib.dll
Дополнительные сведения: Сбой при сравнении двух элементов массива."

Что это может быть? Никогда такое не встречал. Самые распространенные мои ошибки это "ссылка не указывает на экземпляр" и "выход за границы массива", ну или "NaN" на худой конец.
...
Рейтинг: 0 / 0
17.12.2014, 22:55
    #38836496
опции построения решения
Коррекция к последнему моему посту:
все нормально, работает, ошибка с mscorlib это я забыл поставить для одного класса интерфейс : IComparable, это к моей библиотеке не относится.
Осталось только одно неудобство, проекты почему-то не хотят работать с моей библиотекой если она стоит в списке ссылок со свойством CopyLocal = False. Может я не хочу копировать библиотеку в каталоги проектов, зачем лишние копии плодить, диск засорять.

Хотелось бы, чтобы папки проектов содержали по-минимуму всякой шелухи, только исходный код и исполняемый файл. Когда долго работаю над несколькими проектами, то через каждые день-два скидываю на внешний носитель и почтовые ящики эти промежуточные варианты проектов, получается история разработки, если нужно вернуться к пред-предыдущим вариантам. Удобно если сразу взял папки и скопировал, и неприятно что вместе с "соком" идет куча одинакового ненужного балласта.
...
Рейтинг: 0 / 0
18.12.2014, 01:25
    #38836539
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
опции построения решения
Изучающий си решетка, копирование библиотек в папку рядом с exe необходимо потому что именно так работает .NET. Если тебя это не устраиваает, то подписывыай сборки строгим именем и добавляй их в GAC. Тогда они будут в одном месте, VS не будет их копировать, но надо будет следить за актуальностью версии в GAC и также, возможно, подписывать другие сборки.

Если тебе так жалко места, то выполняй команду Build -> Clean перед созданием резервных копий или просто удаляй папки bin/obj. VS создаст их заново перед компиляцией.

Изучающий си решеткаКогда долго работаю над несколькими проектами, то через каждые день-два скидываю на внешний носитель и почтовые ящики эти промежуточные варианты проектов, получается история разработки, если нужно вернуться к пред-предыдущим вариантам.
Для этого лучше использовать систему контроля версий. Даже если ты работаешь один. В интернете есть бесплатные сервисы для таких целей. Например, bitbucket.org .
...
Рейтинг: 0 / 0
18.12.2014, 18:32
    #38837497
опции построения решения
все, разобрался в чем дело. Была просто нестыковка платформ х86 и х64, а CAD-программа, для которой предназначены плагины из моего проекта, вместо того чтобы сказать о несоответствии сборок выдавала сообщение что "файл не удалось загрузить. файл не найден".
Идея с Build->Clear действительно хорошая, почему-то раньше не догадывался.
...
Рейтинг: 0 / 0
19.12.2014, 00:32
    #38837665
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
опции построения решения
Изучающий си решеткаИдея с Build->Clear действительно хорошая, почему-то раньше не догадывался.
Угу. Единственное файлы удаляются только для текущей конфигурации компиляции так что я бы удалял bin/obj.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / опции построения решения / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]