Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Visual Studio Express Edition


Автор: DrunkProgrammer 9.4.2008, 06:04
Доброе время суток!
Установил Express Edition и только создал Win-проект, как сразу полезли ошибки, при чем до того, как я что либо написал:

Error    1    The namespace '<global namespace>' already contains a definition for '?'    

Особенно смущает '?'. Может кто сталкивался с такой проблемой?

Автор: Kefir 9.4.2008, 08:24
* эмммм..... мммм .... ....м ммммм... * (настраиваюсь на волну твоих мыслей и ытаюсь считать код проекта)

гм, а если серьзно - то где то у тебя синтакс неправильный. запости ошибочный код. по всей видимости ты пытаешься определить класс '?' дважды В)

Автор: DrunkProgrammer 9.4.2008, 10:07
* эмммм..... мммм .... ....м ммммм... * (настраиваю твои мысли на волну моих -  пытаться считывать код проекта не надо - типа break). Я же написал, что ошибки выходят сразу же после создания нового проекта, до того, как я что-либо напишу или добавлю, при чем как Windows Application так и Console Application. Т.е. я создаю новый проект и сразу же жму F6 и высыпаются эти ошибки. Ошибочным является весь код в AssemblyInfo.cs (он туда добавлен автоматом при создании проекта, так что смотри, не начни опять эмммм....мммм  smile  ). Я весь код из AssemblyInfo.cs просто ремирую и ошибки исчезают.

Автор: mr.DUDA 10.4.2008, 09:24
Двух файлов AssemblyInfo.cs в проекте нету, случайно? Или тех же атрибутов что в AssemblyInfo но в другом файле исходного кода (Program.cs или Form1.cs)?

Автор: DrunkProgrammer 11.4.2008, 06:12
Нет, никаких двух файлов нет, к тому же было бы странно, если бы при создании нового проекта автоматом создавалось бы два файла AssemblyInfo.cs. Я пытался поиском найти AssemblyCompany, но кроме как в одной единственной AssemblyInfo.cs эта строка не находится.

Автор: mr.DUDA 11.4.2008, 10:32
DrunkProgrammer, можешь приаттачить такой проект? Уж очень любопытно самому взглянуть.  smile 

Автор: DrunkProgrammer 11.4.2008, 11:06
Все, нашел причину. Дело в том, что Visual Studio взяла параметр для AssemblyCompany из данных Винды, а там название конторы выглядело примерно так: "ТД "Имя конторы"", ну а я даже и не обратил внимание на этот косяк, уж слишком смутило меня сообщение Error    5    The namespace '<global namespace>' already contains a definition for '?'. Ну в общем чтобы увидеть те косяки, которые видел я, то в файл AssemblyInfo.cs впешите:

[assembly: AssemblyCompany("ТД "Имя конторы"")]
[assembly: AssemblyCopyright("Copyright © ТД "Имя конторы" 2008")]

При чем вписать нужно в тех строках, где они обычно располагаются, если вписать в конце, то сообщения будут другими, короче:

using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// General Information about an assembly is controlled through the following 
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("ConsoleApplication2")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("ТД "Имя конторы"")]
[assembly: AssemblyProduct("ConsoleApplication2")]
[assembly: AssemblyCopyright("Copyright © ТД "Имя конторы" 2008")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// Setting ComVisible to false makes the types in this assembly not visible 
// to COM components.  If you need to access a type in this assembly from 
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]

// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("3cb28f6b-5b80-492d-b77b-4097606af943")]

// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

Автор: mr.DUDA 11.4.2008, 15:31
DrunkProgrammer, круто. Это получается, нельзя кавычки в имени компании юзать, проекты компилиться не будут...  smile 

Автор: IApple 11.4.2008, 16:19
mr.DUDA неправ, утверждая: "Это получается, нельзя кавычки в имени компании юзать, проекты компилиться не будут..."

Нужно просто правильно строку написать, в которой встречается кавычка, вместо:

[assembly: AssemblyCompany("ТД "Имя конторы"")]

нужно писать:

[assembly: AssemblyCompany(@"ТД ""Имя конторы""")]

Автор: DrunkProgrammer 11.4.2008, 18:19
или так: [assembly: AssemblyCompany("ТД \"Имя конторы\"")]

Автор: mr.DUDA 11.4.2008, 18:27
Это понятно, вопрос не в том как заэкранировать кавычки в строке  smile 

Вопрос в том, что студийный генератор кода (который из шаблона лепит исходник AssemblyInfo.cs) не сумел разобраться, есть ли кавычки в строке, и заэкранировать их. А это бага студии, не сразу понятно почему лезут такие ошибки как в первом посте.

Автор: DrunkProgrammer 12.4.2008, 04:51
Прикол еще в том, что если эти строки с кавычками разместить в конце модуля AssemblyInfo.cs, то лезет уже другой набор ошибок.

Автор: CheFF 13.5.2008, 12:11
А в чем различие между экспрессом и чем-нибудь другим? Есть где-то табличка сравнений, как это обычно бывает, когда сравнивают схожие продукты.

Автор: _hunter 13.5.2008, 12:37
Не поверишь -- эта табличка, как это обычно бывает, лежит на офсайте продукта...
http://msdn.microsoft.com/en-us/vs2005/aa700921.aspx

Автор: CheFF 13.5.2008, 17:27
Я искал, довольно долго искал... Но, из-за плохого знания языка, так и не нашел(

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)