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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Следы Visual Studio в проекте 
V
    Опции темы
Walker
Дата 15.10.2007, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Доброго времени суток, уважаемые жители Винграда!

Скажите, пожалуйста, остаются ли от Студии в проекте и в продукте какие-нибудь отметки с указанием инструментов разработки? Скажем так - можно ли каким-нибудь анализом продукта установить - был он разработан и собран с использованием Visual Studio Pro или же в Visual Studio Express, например?



--------------------
"От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..."
PM MAIL   Вверх
NightmareZ
Дата 15.10.2007, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


[хакер]
**


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

Репутация: 2
Всего: 13



Имхо, тайна сия велика. Но, ведь никто тебе не мешает разработать программу в Visual Studio, а скомпилировать прогу не из-под неё, а напрямую компилятором из .NET Framework.


--------------------
NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш
Ely-Art.ru - наша маленькая домашняя арт-студия
mugcraft.ru - кружки на любой вкус
PM WWW ICQ Skype GTalk AOL YIM   Вверх
zaver
Дата 15.10.2007, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата

а напрямую компилятором из .NET Framework.

ууууххх такое бодрит smile 
PM MAIL WWW ICQ Skype YIM MSN   Вверх
archeg
Дата 15.10.2007, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 11
Всего: 27



Цитата(zaver @  15.10.2007,  20:32 Найти цитируемый пост)
ууууххх такое бодрит   

Впринципе можно довести до автоматизации). csc.exe поддерживает конфиг-файлы для проекту, а для запуска компиляции можно использовать батник. Компиляция сводится к запуску батника каждый раз)

П.С. Не думаю что студия каким-то образом закладывает что-то в екзешник - но впринципе можно проверить. Закомпилить один и тот же проект под студией и компилятром и посмотреть разницу) Сейчас влом, будет свободное время - попробую.


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
tol05
Дата 15.10.2007, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 63
Всего: 170



Цитата(archeg @  15.10.2007,  23:12 Найти цитируемый пост)
Сейчас влом, будет свободное время - попробую.

сразу попробуй "батник" по именем MSBuild.exe  smile 
его и студия вызывает для компиляции, и руками можно... 

Принцип такой примерно: VS2005->MSBuild->csc.exe

Когда-то много времени с ним провел... smile

P.S. Да, по сабжу... Ни разу никаких следов не видел. Версия CLR - еще куда ни шло, но имя и версия инструмента... Нет, не видал.

Это сообщение отредактировал(а) tol05 - 15.10.2007, 23:21


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
Walker
Дата 16.10.2007, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Спасибо всем за участие в обсуждении!  smile 
Вопрос помечаю решённым, потому что действительно, скорее всего 
Цитата

тайна сия велика

и 
Цитата

скомпилировать прогу ... напрямую компилятором из .NET Framework. 

вариант на все случаи жизни.

P.S.Спасибо, tol05 за информацию про MSBuild.exe!



--------------------
"От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..."
PM MAIL   Вверх
archeg
Дата 17.10.2007, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 11
Всего: 27



tol05, попробовал MSBuild`ом закомпилить проект и сравнил с закомпиленым проектом студии:
Тот что компилился через мсбилд вышел у два раза меньше. Вот статистика с илдасма:
MSBuild:
Код

File size            : 11264
 PE header size       : 512 (496 used)    ( 4.55%)
 PE additional info   : 1031              ( 9.15%)
 Num.of PE sections   : 3
 CLR header size     : 72                 ( 0.64%)
 CLR meta-data size  : 5836               (51.81%)
 CLR additional info : 552                ( 4.90%)
 CLR method headers  : 205                ( 1.82%)
 Managed code         : 1777              (15.78%)
 Data                 : 1536              (13.64%)
 Unaccounted          : -257              (-2.28%)

 Num.of PE sections   : 3
   .text    - 9216
   .rsrc    - 1024
   .reloc   - 512

 CLR meta-data size  : 5836
   Module        -    1 (10 bytes)
   TypeDef       -    9 (126 bytes)     0 interfaces, 0 explicit layout
   TypeRef       -   61 (366 bytes)
   MethodDef     -   33 (462 bytes)     0 abstract, 0 native, 29 bodies
   FieldDef      -   16 (96 bytes)      0 constant
   MemberRef     -   78 (468 bytes)
   ParamDef      -   26 (156 bytes)
   Constant      -    3 (18 bytes)
   CustomAttribute-   21 (126 bytes)
   StandAloneSig -    8 (16 bytes)
   PropertyMap   -    2 (8 bytes)
   Property      -    3 (18 bytes)
   MethodSemantic-    4 (24 bytes)
   TypeSpec      -    2 (4 bytes)
   Assembly      -    1 (22 bytes)
   AssemblyRef   -    4 (80 bytes)
   ManifestResource-    3 (36 bytes)
   NestedClass   -    1 (4 bytes)
   Strings       -  2510 bytes
   Blobs         -   764 bytes
   UserStrings   -   296 bytes
   Guids         -    16 bytes
   Uncategorized -   210 bytes

 CLR additional info : 552
   Resources         - 552

 CLR method headers : 205
   Num.of method bodies  - 29
   Num.of fat headers    - 16
   Num.of tiny headers   - 13

 Managed code : 1777
   Ave method size - 61

VS:
Код

File size            : 24576
 PE header size       : 4096 (496 used)    (16.67%)
 PE additional info   : 1031              ( 4.20%)
 Num.of PE sections   : 3
 CLR header size     : 72                 ( 0.29%)
 CLR meta-data size  : 5872               (23.89%)
 CLR additional info : 552                ( 2.25%)
 CLR method headers  : 205                ( 0.83%)
 Managed code         : 1790              ( 7.28%)
 Data                 : 8192              (33.33%)
 Unaccounted          : 2766              (11.25%)

 Num.of PE sections   : 3
   .text    - 12288
   .rsrc    - 4096
   .reloc   - 4096

 CLR meta-data size  : 5872
   Module        -    1 (10 bytes)
   TypeDef       -    9 (126 bytes)     0 interfaces, 0 explicit layout
   TypeRef       -   62 (372 bytes)
   MethodDef     -   33 (462 bytes)     0 abstract, 0 native, 29 bodies
   FieldDef      -   16 (96 bytes)      0 constant
   MemberRef     -   79 (474 bytes)
   ParamDef      -   26 (156 bytes)
   Constant      -    3 (18 bytes)
   CustomAttribute-   21 (126 bytes)
   StandAloneSig -    8 (16 bytes)
   PropertyMap   -    2 (8 bytes)
   Property      -    3 (18 bytes)
   MethodSemantic-    4 (24 bytes)
   TypeSpec      -    2 (4 bytes)
   Assembly      -    1 (22 bytes)
   AssemblyRef   -    4 (80 bytes)
   ManifestResource-    3 (36 bytes)
   NestedClass   -    1 (4 bytes)
   Strings       -  2535 bytes
   Blobs         -   764 bytes
   UserStrings   -   296 bytes
   Guids         -    16 bytes
   Uncategorized -   209 bytes

 CLR additional info : 552
   Resources         - 552

 CLR method headers : 205
   Num.of method bodies  - 29
   Num.of fat headers    - 16
   Num.of tiny headers   - 13

 Managed code : 1790
   Ave method size - 61


Я что-то не так сделал? Или в самом деле студия пишет чета в хедер? оО


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
NikeDeForest
Дата 17.10.2007, 07:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Может скомпилил в режиме дебаг?
--------------------
Еще один вопрос ...
PM   Вверх
tol05
Дата 17.10.2007, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 63
Всего: 170



NikeDeForest, может быть smile

archeg, покажи аргументы запуска MSBuild-а и лог Output студии


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
archeg
Дата 17.10.2007, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 11
Всего: 27



Цитата(tol05 @  17.10.2007,  08:51 Найти цитируемый пост)
archeg, покажи аргументы запуска MSBuild-а и лог Output студии 

MSBuild:
Код

>msbuild ConsoleExample.csproj
Microsoft (R) Build Engine Version 2.0.50727.312
[Microsoft .NET Framework, Version 2.0.50727.312]
Copyright (C) Microsoft Corporation 2005. All rights reserved.

Build started 17.10.2007 16:46:56.
__________________________________________________
Project "f:\!MSWork\C#\Focus\ConsoleExample\ConsoleExample\ConsoleExample.csproj
" (default targets):

Target PrepareForBuild:
    Creating directory "obj\Debug\".
Target CoreResGen:
    Processing resource file "ConsoleCtrl.resx" into "obj\Debug\ConsoleExample.C
onsoleCtrl.resources".
    Processing resource file "Form1.resx" into "obj\Debug\ConsoleExample.Form1.r
esources".
    Processing resource file "Properties\Resources.resx" into "obj\Debug\Console
Example.Properties.Resources.resources".
Target CoreCompile:
    F:\Windows\Microsoft.NET\Framework\v2.0.50727\Csc.exe /noconfig /nowarn:1701
,1702 /errorreport:prompt /warn:4 /define:DEBUG;TRACE /reference:F:\Windows\Micr
osoft.NET\Framework\v2.0.50727\System.Data.dll /reference:F:\Windows\Microsoft.N
ET\Framework\v2.0.50727\System.Deployment.dll /reference:F:\Windows\Microsoft.NE
T\Framework\v2.0.50727\System.dll /reference:F:\Windows\Microsoft.NET\Framework\
v2.0.50727\System.Drawing.dll /reference:F:\Windows\Microsoft.NET\Framework\v2.0
.50727\System.Windows.Forms.dll /reference:F:\Windows\Microsoft.NET\Framework\v2
.0.50727\System.Xml.dll /debug+ /debug:full /optimize- /out:obj\Debug\ConsoleExa
mple.exe /resource:obj\Debug\ConsoleExample.ConsoleCtrl.resources /resource:obj\
Debug\ConsoleExample.Form1.resources /resource:obj\Debug\ConsoleExample.Properti
es.Resources.resources /target:winexe ConsoleCtrl.cs ConsoleCtrl.Designer.cs Con
soleSample.cs Form1.cs Form1.Designer.cs Form2.cs Form2.Designer.cs Program.cs P
roperties\AssemblyInfo.cs Properties\Resources.Designer.cs Properties\Settings.D
esigner.cs
Target CopyFilesToOutputDirectory:
    Copying file from "obj\Debug\ConsoleExample.exe" to "bin\Debug\ConsoleExampl
e.exe".
    ConsoleExample -> f:\!MSWork\C#\Focus\ConsoleExample\ConsoleExample\bin\Debu
g\ConsoleExample.exe
    Copying file from "obj\Debug\ConsoleExample.pdb" to "bin\Debug\ConsoleExampl
e.pdb".

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:01.97

VS 2005:
Код

------ Rebuild All started: Project: ConsoleExample, Configuration: Debug Any CPU ------
F:\Windows\Microsoft.NET\Framework\v2.0.50727\Csc.exe /noconfig /nowarn:1701,1702 /errorreport:prompt /warn:4 /define:DEBUG;TRACE /reference:F:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Data.dll /reference:F:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Deployment.dll /reference:F:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll /reference:F:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll /reference:F:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll /reference:F:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Xml.dll /debug+ /debug:full /optimize- /out:obj\Debug\ConsoleExample.exe /resource:obj\Debug\ConsoleExample.ConsoleCtrl.resources /resource:obj\Debug\ConsoleExample.Form1.resources /resource:obj\Debug\ConsoleExample.Properties.Resources.resources /target:winexe ConsoleCtrl.cs ConsoleCtrl.Designer.cs ConsoleSample.cs Form1.cs Form1.Designer.cs Form2.cs Form2.Designer.cs Program.cs Properties\AssemblyInfo.cs Properties\Resources.Designer.cs Properties\Settings.Designer.cs

Compile complete -- 0 errors, 0 warnings
ConsoleExample -> f:\!MSWork\C#\Focus\ConsoleExample\ConsoleExample\bin\Debug\ConsoleExample.exe
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========

Вызов csc символ в символ одинаков)
Размер файлов разный ) И у мсбилда почти у два раза меньше )

Это сообщение отредактировал(а) archeg - 17.10.2007, 16:23


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
tol05
Дата 17.10.2007, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 63
Всего: 170



мда... вопрос интересный, но почему так - я инфы не нашел. 

Но то, что VS вызывает MSBuild - это факт.

Единственное, что я могу предположить, что студия добавляет в сборку (дебаг режиме) информацию своего дебаггера, а MSBuild - нет.


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
archeg
Дата 17.10.2007, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 11
Всего: 27



Цитата(tol05 @  17.10.2007,  18:03 Найти цитируемый пост)
Единственное, что я могу предположить, что студия добавляет в сборку (дебаг режиме) информацию своего дебаггера, а MSBuild - нет. 

В таком случае эту инфу можно отловить и определить какой студией (или вообще без студии) компилилось приложение.

Кстати заметил что студия все маленькие проекты компилит с одним конечным размером (24 576 кажись). То есть меньше не бывает никогда. А через мсбилд вышло меньше  smile 


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
Dino99rus
Дата 17.10.2007, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Можно спросить, а зачем такие хитрости? Просто я пишу не много(учусь) и хочеться знать.
PM MAIL   Вверх
Walker
Дата 18.10.2007, 07:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вопрос связан с правовым обеспечением и возник из следующих соображений. Необходимо проверить-был ли некий продукт разработан с использованием свободнораспространяемых, либо приобретённых в установленном законом порядке лицензионных средств разработки. Поведение разработчика ясно - если лицензия есть, то этот факт не скрывается  smile, а если нет, то мол "всё из командной строки компилю smile и о существовании пиратских копий ПО вообще  впервые слышу".smile А вот действительно ли это так - неизвестно. Вот ежели бы можно было установить факт использования студии (не Express) и при отсутствии соотвествующих прав на неё применить санкции. smile  smile 

!!! Огромная просьба - правовой аспект далее не обсуждать, дабы не вдариться во флейм по теме "А есть ли у субъекта вообще права на продажу на ПО, как он их получает и т.д.". Это тема отдельная. Я только рассказал по просьбе предпосылки к текущему вопросу. При желании лучше сосредоточить внимание непосредственно на сабже. То, что у archeg и tol05 вытекло технически, представляет очень интересную информацию к размышлению. Отправил письмо Mr.DUDA с просьбой поставить им по плюсу, как проявившим живой интерес!

Это сообщение отредактировал(а) Walker - 18.10.2007, 09:04


--------------------
"От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..."
PM MAIL   Вверх
Tauler
Дата 18.10.2007, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



помоему что msbuild, что VS используют csc.exe для компиляции. и ИМХО VS - меганавороченый текстовый редактор(утрированно).
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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