Kazbek17 писал(а):
csproj указывать какие файлы компилироватьСогласен.
Немного поковырял MSBuild оказалось что не понимает она кириллицу в путях. Как не крути а сохранить по пути Cocuments and SettingsАдминистраторProjects не получилось.
В параметрах командной строки не разбирался но как оказалось компилирует как раз csc.exe входящий в состав Framework а MSBuild подготавливает все на основе файла проекта *proj какие модули и прочее подключать к проету, а далее отсылает офигенную командную строку нашему csc.exe.
Офигенная строка
CoreCompile:
C:WINDOWSMicrosoft.NETFrameworkv4.0.30319Csc.exe /noconfig /nowarn:1701,
1702 /nostdlib+ /reference:C:WINDOWSMicrosoft.NetassemblyGAC_MSILMicroso
ft.CSharpv4.0_4.0.0.0__b03f5f7f11d50a3aMicrosoft.CSharp.dll /reference:C:W
INDOWSMicrosoft.NETFrameworkv4.0.30319mscorlib.dll /reference:C:WINDOWS
Microsoft.NetassemblyGAC_32PresentationCorev4.0_4.0.0.0__31bf3856ad364e35
PresentationCore.dll /reference:C:WINDOWSMicrosoft.NetassemblyGAC_MSILP
resentationFrameworkv4.0_4.0.0.0__31bf3856ad364e35PresentationFramework.dll
/reference:C:WINDOWSMicrosoft.NetassemblyGAC_MSILSystem.Corev4.0_4.0.0
.0__b77a5c561934e089System.Core.dll /reference:C:WINDOWSMicrosoft.Netasse
mblyGAC_MSILSystem.Data.DataSetExtensionsv4.0_4.0.0.0__b77a5c561934e089Sy
stem.Data.DataSetExtensions.dll /reference:C:WINDOWSMicrosoft.Netassembly
GAC_32System.Datav4.0_4.0.0.0__b77a5c561934e089System.Data.dll /reference:
C:WINDOWSMicrosoft.NetassemblyGAC_MSILSystemv4.0_4.0.0.0__b77a5c561934e
089System.dll /reference:C:WINDOWSMicrosoft.NetassemblyGAC_MSILSystem.X
amlv4.0_4.0.0.0__b77a5c561934e089System.Xaml.dll /reference:C:WINDOWSMicr
osoft.NetassemblyGAC_MSILSystem.Xmlv4.0_4.0.0.0__b77a5c561934e089System.
Xml.dll /reference:C:WINDOWSMicrosoft.NetassemblyGAC_MSILSystem.Xml.Linq
v4.0_4.0.0.0__b77a5c561934e089System.Xml.Linq.dll /reference:C:WINDOWSMic
rosoft.NetassemblyGAC_MSILWindowsBasev4.0_4.0.0.0__31bf3856ad364e35Windo
wsBase.dll /debug+ /outbjDebugProject67.exe /resourcebjDebugProject67
.g.resources /target:winexe MainWindow.Xaml.cs "Crogram FilesHiAsmcompil
erWPFobjDebugMainWindow.g.cs" "Crogram FilesHiAsmcompilerWPFobjDe
bugApp.g.cs" "C:TEMP.NETFramework,Version=v4.0.AssemblyAttributes.cs"
C:WINDOWSMicrosoft.NETFrameworkv4.0.30319Csc.exe /noconfig /nowarn:1701,
1702 /nostdlib+ /reference:C:WINDOWSMicrosoft.NetassemblyGAC_MSILMicroso
ft.CSharpv4.0_4.0.0.0__b03f5f7f11d50a3aMicrosoft.CSharp.dll /reference:C:W
INDOWSMicrosoft.NETFrameworkv4.0.30319mscorlib.dll /reference:C:WINDOWS
Microsoft.NetassemblyGAC_32PresentationCorev4.0_4.0.0.0__31bf3856ad364e35
PresentationCore.dll /reference:C:WINDOWSMicrosoft.NetassemblyGAC_MSILP
resentationFrameworkv4.0_4.0.0.0__31bf3856ad364e35PresentationFramework.dll
/reference:C:WINDOWSMicrosoft.NetassemblyGAC_MSILSystem.Corev4.0_4.0.0
.0__b77a5c561934e089System.Core.dll /reference:C:WINDOWSMicrosoft.Netasse
mblyGAC_MSILSystem.Data.DataSetExtensionsv4.0_4.0.0.0__b77a5c561934e089Sy
stem.Data.DataSetExtensions.dll /reference:C:WINDOWSMicrosoft.Netassembly
GAC_32System.Datav4.0_4.0.0.0__b77a5c561934e089System.Data.dll /reference:
C:WINDOWSMicrosoft.NetassemblyGAC_MSILSystemv4.0_4.0.0.0__b77a5c561934e
089System.dll /reference:C:WINDOWSMicrosoft.NetassemblyGAC_MSILSystem.X
amlv4.0_4.0.0.0__b77a5c561934e089System.Xaml.dll /reference:C:WINDOWSMicr
osoft.NetassemblyGAC_MSILSystem.Xmlv4.0_4.0.0.0__b77a5c561934e089System.
Xml.dll /reference:C:WINDOWSMicrosoft.NetassemblyGAC_MSILSystem.Xml.Linq
v4.0_4.0.0.0__b77a5c561934e089System.Xml.Linq.dll /reference:C:WINDOWSMic
rosoft.NetassemblyGAC_MSILWindowsBasev4.0_4.0.0.0__31bf3856ad364e35Windo
wsBase.dll /debug+ /outbjDebugProject67.exe /resourcebjDebugProject67
.g.resources /target:winexe MainWindow.Xaml.cs "Crogram FilesHiAsmcompil
erWPFobjDebugMainWindow.g.cs" "Crogram FilesHiAsmcompilerWPFobjDe
bugApp.g.cs" "C:TEMP.NETFramework,Version=v4.0.AssemblyAttributes.cs"
Вобщем без прекомпилятора в локализованных(с кириллицей в путях) ОС не обойтись. Прекомпилятор который я выкладывал постом выше делался на скорую руку для эксперимента. Я вручную компилировал bat-ником, а поскольку небыло времени то в прекомпилятор впихнул содержание .bat-ника. Вы как автор знаете какие файлы будут появляться в выходной директории, а значит и прекомпилятор заточить не составит труда.
Как работает ваш компилятор спрашивал потому что меня сбило с толку
Kazbek17 писал(а):
Вот код компилятора на языке C#Поначалу думал что он и компилирует, а сейчас я так понимаю он выполняет роль прекомпилятора.