Страницы

Поиск по вопросам

четверг, 2 января 2020 г.

Компиляция через командную строку в С#

#c_sharp


Как указать путь в среде переменного окружения, чтобы можно было компилировать через
командную строку С#-код. У меня уже стоит Visual Studio 2008 экспресс. Хотелось бы
через командную строку компилировать научиться.    


Ответы

Ответ 1



Вам нужен csc.exe. Проблема в том, что этот файл обычно запрятан в недрах папки Windows (например, у меня он нашёлся в C:\Windows\Microsoft.NET\Framework\v4.0.30319). Так что лучше воспользуйтесь VSVARS32. Command-line Building With csc.exe

Ответ 2



Ещё компилятор C# имеет API, доступный в .NET Framework. Используется примерно так: using Microsoft.CSharp; using System.Resources; public void Compile(string[] resourceFiles, string[] references, string outputFileName) { var compiledResources = new List(); foreach (string resourceFile in resourceFiles) { string resourceRoot = new FileInfo(outputFileName).Directory.FullName; using (ResXResourceReader reader = new ResXResourceReader(resourceFile)) { string outResPath = resourceRoot + "\\" + Path.GetFileNameWithoutExtension(resourceFile) + ".resources"; using (ResourceWriter rw = new ResourceWriter(outResPath)) { IDictionaryEnumerator ren = reader.GetEnumerator(); while (ren.MoveNext()) { rw.AddResource(ren.Key.ToString(), ren.Value.ToString()); } compiledResources.Add(outResPath); } } } CSharpCodeProvider codeProvider = new CSharpCodeProvider(); CompilerParameters parameters = new CompilerParameters(references.ToArray(), outputFileName); parameters.EmbeddedResources.AddRange(compiledResources.ToArray()); CompilerResults results = codeProvider.CompileAssemblyFromSource(parameters, sourceCodes); foreach (CompilerError error in results.Errors) { //speakOut(string.Format("Line:{0:d},Error:{1}\n", error.Line, error.ErrorText)); } }

Ответ 3



“Мой компьютер” - свойства. Windows XP - "дополнительно", Windows Vista/7 - "Дополнительные параметры системы". Вкладка "Дополнительно" - "Переменные среды..." Далее в "Системные переменные" ищем переменную Path. В конце дописываем через точку с запятой путь к компилятору (например C:WindowsMicrosoft.NETFrameworkv4.0.30319) Другой способ найти "переменные среды" - если Windows 7 - Пуск - в строке поиска "переменные среды"

Ответ 4



Компилировать проект с кодом можно при помощи msbuild (не входит в клиентский профиль 4.0, но входит во все остальные), отдельными файлами - при помощи csc (он есть везде) - ищи их в папке с .net framework'ом. http://bbs.vbstreets.ru/viewtopic.php?f=2&t=44609 - bat-файл для компиляции VB.NET (при помощи vbc), C# делается аналогично.

Комментариев нет:

Отправить комментарий