Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > С#

С# Средство разработки на платформе .Net

Ответ
 
Опции темы
Старый 23.08.2010, 18:06   #1
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений
(для 2,419 пользователей)
Сообщение Компиляция

Есть ли в C# (.NET Framework) класс для компиляции (в .exe или .dll) кода прямо из приложения?
(Offline)
 
Ответить с цитированием
Старый 23.08.2010, 18:09   #2
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Компиляция

Думаю вот эта и вот эта статейки тебе помогут
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
den (23.08.2010)
Старый 23.08.2010, 18:30   #3
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений
(для 2,419 пользователей)
Ответ: Компиляция

то что надо
(Offline)
 
Ответить с цитированием
Старый 23.08.2010, 19:34   #4
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Компиляция

Кстати вот в этой теме есть исходники моего проекта по созданию Dll из decls блица
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
den (23.08.2010)
Старый 23.08.2010, 22:09   #5
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений
(для 2,419 пользователей)
Ответ: Компиляция

почему то не те не твой пример не работают.
using System
using System.CodeDom.Compiler
using System.Collections.Generic
using Microsoft.CSharp
 
namespace 
ConsoleCompiler 

    
internal class Program 
    

        [
STAThread]
        private static 
void Main(string[] args
        { 
            
// Source code для компиляции 
            
string source 
            @

namespace Foo 

    public class Bar 
    { 
        static void Main(string[] args) 
        { 
            Bar.SayHello(); 
        } 
 
        public static void SayHello() 
        { 
            System.Console.WriteLine(""Hello World""); 
        } 
    } 

            "

 
            
CSharpCodeProvider provider = new CSharpCodeProvider();
            
string[] ={"Foo.EXE"};
            
CompilerParameters compilerParams = new CompilerParameters
            
{OutputAssembly "D:\\Foo.EXE"GenerateExecutable true};//ОШИБКА
 
            // Компиляция 
            
CompilerResults results provider.CompileAssemblyFromSource(compilerParamssource); 
 
            
// Выводим информацию об ошибках 
            
Console.WriteLine("Number of Errors: {0}"results.Errors.Count); 
            foreach (
CompilerError err in results.Errors
            { 
                
Console.WriteLine("ERROR {0}"err.ErrorText); 
            } 
        } 
    } 

error CS1526: A new expression requires () or [] after type
(Offline)
 
Ответить с цитированием
Старый 23.08.2010, 22:16   #6
Dream
быдло
 
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений
(для 1,489 пользователей)
Ответ: Компиляция

кэп какбе намекает.
Ладно. Ты компилишь скорее всего на .NET 2.0, где нету такого чтобы можно было определять проверти класса сразу при создании.
Попробуй так
CompilerParameters compilerParams = new CompilerParameters();
compilerParams.OutputAssembly = "D:\\Foo.EXE";
compilerParams.GenerateExecutable = true;
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
den (23.08.2010)
Старый 23.08.2010, 22:30   #7
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений
(для 2,419 пользователей)
Ответ: Компиляция

Спс, помогло!
Ладно. Ты компилишь скорее всего на .NET 2.0, где нету такого чтобы можно было определять проверти класса сразу при создании.
Да у меня 2005 студия, всё никак 2008 скачать не решусь
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 20:29.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com