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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с компилятором VS 2010 
:(
    Опции темы
b_victor
  Дата 12.6.2011, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Пример к книге Ватсона "C# 4.0 на примерах", выдает сообщения (см. в конце), причем только на домашнем компе, на работе все нормально

Код

using System;
using System.Collections.Generic;
using System.Linq;
using System.Globalization;
using System.IO;

namespace LinqToObjects
{
    class Book
    {
        public string Title { get; set; }
        public int AuthorId { get; set; }
        public int PublishYear { get; set; }
        public double Price { get; set; }
        
        public Book(string title, int authorId, int year, double price)
        {
            Title = title;
            AuthorId = authorId;
            PublishYear = year;
            Price = price;
        }

        public override string ToString()
        {
            return string.Format("{0} ({1}г., {2}р.)", Title, PublishYear, Price);
        }
    }

    class Author
    {
        public int Id { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public Author(int id, string firstName, string lastName)
        {
            Id = id;
            FirstName = firstName;
            LastName = lastName;
        }
    }

    class Program
    {
        static readonly string path = Directory.GetCurrentDirectory() + @"\output.txt";
        static void Main()
        {
            if (File.Exists(path)) File.Delete(path);

            List<Book> books = new List<Book>{
                new Book("Повести Белкина", 3, 1830, 25.45),
                new Book("Le Rhin", 1, 1842, 13.98),
                new Book("Анна Каренина", 2, 1855, 101.09),
                new Book("Les Burgraves",1 , 1843, 201),
                new Book("Сказка о царе Салтане", 3, 1825, 55.1),
                new Book("Севастопольские рассказы", 2, 1867, 60),
                new Book("Napoléon le Petit", 1, 1852, 133.21),
                new Book("Les Châtiments", 1, 1853, 99.99),
                new Book("Война и мир", 2, 1866, 119.99),
                new Book("Les Contemplations", 1, 1856, 92.95),
                new Book("Les Misérables", 1, 1862, 45.55)
                };

            List<Author> authors = new List<Author>
            {
                new Author(3, "Александр", "Пушкин"),
                new Author(1, "Victor", "Hugo"),
                new Author(2, "Лев", "Толстой")
            };
            LogToFile("Исходный список книг:");
            PrintBooks("Исходный список книг:", books);

            var allBooks = from book in books orderby book.Title select book;
            LogToFile("\nИсходный список книг (по возрастанию):");
            PrintBooks("Исходный список книг (по возрастанию):", allBooks);

            var ordered = from book in books orderby book.Title descending select book;
            LogToFile("\nИсходный список книг (по убыванию):");
            PrintBooks("Исходный список книг (по убыванию):", ordered);

            var before1850 = from book in books orderby book.PublishYear where book.PublishYear < 1850 select book;
            LogToFile("\nКниги, выпущенные до 1850 года:");
            PrintBooks("Книги, выпущенные до 1850 года:", before1850);

            var dateRange = from book in books orderby book.PublishYear where book.PublishYear >= 1850 && book.PublishYear <= 1855 select book;
            LogToFile("\nКниги, выпущенные в период 1850 - 1855:");
            PrintBooks("Книги, выпущенные в период 1850 - 1855:", dateRange);

            var justTitlesAfter1850 = from book in books orderby book.PublishYear where book.PublishYear > 1850 select book;
            LogToFile("\nКниги, выпущенные после 1850 года:");
            PrintBooks("Книги, выпущенные после 1850 года:", justTitlesAfter1850);

            var withAuthors = from book in books
                              join author in authors on book.AuthorId equals author.Id
                              orderby author.Id
                              select new { Book = book.Title, Author = author.FirstName + " " 
                                  + author.LastName + " (" + book.PublishYear 
                                  + ", " + book.Price + "р.)" };
            Console.WriteLine("Книги, объединенные по авторам:");
            LogToFile("\nКниги, объединенные по авторам:");
            foreach (var bookAndAuthor in withAuthors)
            {
                Console.WriteLine("{0}, {1}", bookAndAuthor.Book, bookAndAuthor.Author);
                LogToFile(bookAndAuthor.Book + ", " + bookAndAuthor.Author);
            }
            Console.ReadKey();
        }

        static void PrintBooks<T>(string title, IEnumerable<T> books)
        {
            Console.WriteLine("{0}", title);
            foreach (T book in books)
            {
                Console.WriteLine(book.ToString());
                LogToFile(book.ToString());
            }
            Console.WriteLine();
        }

        static void LogToFile(string message) // запись событий в лог - файл 
        {
            CultureInfo ci = new CultureInfo("ru-RU", true);
            StreamWriter sw = File.AppendText(path);
            try
            {
                string log_line = String.Format(ci, "{0}", message);
                sw.WriteLine(log_line);
            }
            catch (IOException ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                sw.Close();
            }
        }
    }
}


Код

Ошибка    1    Внутренняя ошибка компилятора: этап "BEGIN"    LinqToObjects
Ошибка    2    Внутренняя ошибка компилятора: этап "BEGIN"    F:\Project_CSharp\Books\CSharp 4 How To\ch21\LinqToObjects\Program.cs    LinqToObjects
Ошибка    3    Внутренняя ошибка компилятора: этап "DEFINE"    F:\Project_CSharp\Books\CSharp 4 How To\ch21\LinqToObjects\Program.cs    LinqToObjects
Ошибка    4    Внутренняя ошибка компилятора: этап "DEFINE"    F:\Project_CSharp\Books\CSharp 4 How To\ch21\LinqToObjects\Program.cs    LinqToObjects
Ошибка    5    Внутренняя ошибка компилятора: этап "DEFINE" символ "<глобальное пространство имен>"    F:\Project_CSharp\Books\CSharp 4 How To\ch21\LinqToObjects\Program.cs    LinqToObjects
Ошибка    6    Внутренняя ошибка компилятора (0xc0000005 по адресу 24D9F9F1): вероятная причина в "DEFINE".

В компиляторе обнаружена внутренняя ошибка. Чтобы обойти эту неполадку, попытайтесь упростить или изменить программу в строках, указанных ниже. Строки в верхней части списка ближе к точке, в которой произошла внутренняя ошибка. Об ошибках такого рода можно сообщить в Майкрософт с помощью параметра /errorreport.
    LinqToObjects
Ошибка    7    Внутренняя ошибка компилятора: этап "DEFINE" символ "LinqToObjects"    F:\Project_CSharp\Books\CSharp 4 How To\ch21\LinqToObjects\Program.cs    7    11    LinqToObjects
Ошибка    8    Внутренняя ошибка компилятора: этап "DEFINE" символ "LinqToObjects.Program"    F:\Project_CSharp\Books\CSharp 4 How To\ch21\LinqToObjects\Program.cs    43    11    LinqToObjects
Ошибка    9    Внутренняя ошибка компилятора: этап "DEFINE"    F:\Project_CSharp\Books\CSharp 4 How To\ch21\LinqToObjects\Program.cs    109    21    LinqToObjects


PM MAIL   Вверх
Voyager
Дата 12.6.2011, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Почистите папку obj, почистите папку Temp. Потом напишите результат.

PM   Вверх
b_victor
  Дата 12.6.2011, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Почистил, не помогает. Самое интересное, что это проявляется не всегда, вот другой пример - результат тот же!
Код

using System;
using System.Collections.Generic;
using System.Linq;

namespace GenericMethods
{
    public static class Algorithm
    {
        public static decimal AccumulateSimple(IEnumerable<Account> source)
        {
            return source.Sum(a => a.Balance);
        }

        public static decimal Accumulate<TAccount>(IEnumerable<TAccount> source)
            where TAccount : IAccount
        {
            return source.Sum(a => a.Balance);
        }

        public static T2 Accumulate<T1, T2>(IEnumerable<T1> source, Func<T1, T2, T2> action)
        {
            T2 sum = default(T2);
            return source.Aggregate(sum, (current, item) => action(item, current));
        }

    }
}


Ошибка    1    Внутренняя ошибка компилятора: этап "BEGIN"    GenericMethods
Ошибка    2    Внутренняя ошибка компилятора: этап "BEGIN"    F:\Project_CSharp\Books\Neigel\CSharp2010\502259 Code CH05\Generics\GenericsSamples\GenericMethods\Algorithm.cs    GenericMethods
Ошибка    3    Внутренняя ошибка компилятора: этап "DEFINE"    F:\Project_CSharp\Books\Neigel\CSharp2010\502259 Code CH05\Generics\GenericsSamples\GenericMethods\Algorithm.cs    GenericMethods
Ошибка    4    Внутренняя ошибка компилятора: этап "DEFINE"    F:\Project_CSharp\Books\Neigel\CSharp2010\502259 Code CH05\Generics\GenericsSamples\GenericMethods\Algorithm.cs    GenericMethods
Ошибка    5    Внутренняя ошибка компилятора: этап "DEFINE" символ "<глобальное пространство имен>"    F:\Project_CSharp\Books\Neigel\CSharp2010\502259 Code CH05\Generics\GenericsSamples\GenericMethods\Algorithm.cs    GenericMethods
Ошибка    6    Внутренняя ошибка компилятора (0xc0000005 по адресу 2273F9EA): вероятная причина в "DEFINE".

В компиляторе обнаружена внутренняя ошибка. Чтобы обойти эту неполадку, попытайтесь упростить или изменить программу в строках, указанных ниже. Строки в верхней части списка ближе к точке, в которой произошла внутренняя ошибка. Об ошибках такого рода можно сообщить в Майкрософт с помощью параметра /errorreport.
    GenericMethods
Ошибка    7    Внутренняя ошибка компилятора: этап "DEFINE" символ "GenericMethods"    F:\Project_CSharp\Books\Neigel\CSharp2010\502259 Code CH05\Generics\GenericsSamples\GenericMethods\Algorithm.cs    5    11    GenericMethods
Ошибка    8    Внутренняя ошибка компилятора: этап "DEFINE" символ "GenericMethods.Algorithm"    F:\Project_CSharp\Books\Neigel\CSharp2010\502259 Code CH05\Generics\GenericsSamples\GenericMethods\Algorithm.cs    7    25    GenericMethods
Ошибка    9    Внутренняя ошибка компилятора: этап "DEFINE"    F:\Project_CSharp\Books\Neigel\CSharp2010\502259 Code CH05\Generics\GenericsSamples\GenericMethods\Algorithm.cs    14    31    GenericMethods


Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  GenericsSamples.zip 129,49 Kb
PM MAIL   Вверх
Voyager
Дата 14.6.2011, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А если переустановить фреймворк?
2010 студии нет, но в 2008 встречал подобные ошибки компилятора, тогда дело оказалось в винте (жесткий диск начал отказывать).
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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