Не рано ли вышла бета?
От: Аноним  
Дата: 11.04.10 09:36
Оценка:
Наблюдая баталии дон ки хота(ов) в соседних форумах, решил немного побороться со своей закостенелостью. Вот что из этого вышло:

---------------------------
Nemerle Studio
---------------------------
Das importierte Projekt C:\Programme\Nemerle\Nemerle.MSBuild.targets wurde nicht gefunden. Vergewissern Sie sich, dass der Pfad in der <Import>-Deklaration korrekt und die Datei auf dem Datenträger vorhanden ist. C:\Dokumente und Einstellungen\Vladimir\Lokale Einstellungen\Temp\lbxyg1tn.ndx\Temp\ConsoleApplication3.nproj
---------------------------
OK
---------------------------

Ну, видимо, не судьба... Запустил интерпретатор:

Welcome to Nemerle interpreter (using ncc 1.0.0.8745).

Please enter expressions appended with ";;".
Type "Help;;" for more info.

Please wait while evaluating the config file..
— Help;;
Der Typeninitialisierer für Nemerle.Compiler.TyperBase hat eine Ausnahme verursa
cht. bei Nemerle.Compiler.Typer..ctor(ManagerClass mng)
bei Nemerle.Compiler.Typer..ctor(ManagerClass mng, TypeBuilder tb, MethodBuil
der mb)
bei Nemerle.Compiler.Typer..ctor(MethodBuilder m)
bei Nemerle.Compiler.CompilerComponentsFactory.CreateTyper(MethodBuilder m)
bei Nemerle.Compiler.MethodBuilder.RunBodyTyper()
bei Nemerle.Compiler.MethodBuilder.Compile()
bei Nemerle.Compiler.TypeBuilder.EmitImplementation()
bei Nemerle.Compiler.TypesManager._N_emit_impl__53681.apply_void(TypeBuilder
_N__53680)
bei Nemerle.Compiler.TypesManager._N_maybe_f__54248.apply_void(TypeBuilder _N
__54247)
bei Nemerle.Collections.NList.Iter[T](list`1 l, FunctionVoid`1 f)
bei Nemerle.Core.list`1.Iter(FunctionVoid`1 f)
bei Nemerle.Compiler.TypesManager.Iter(list`1 builders, FunctionVoid`1 f)
bei Nemerle.Compiler.TypesManager.Iter(FunctionVoid`1 f)
bei Nemerle.Compiler.TypesManager.compile_all_tyinfos(Boolean aux_phase)
bei Nemerle.Compiler.TypesManager._N__N_lambda__53121__53224.apply_void()
bei Nemerle.Compiler.Solver.Enqueue(FunctionVoid action)
bei Nemerle.Compiler.TypesManager.EmitDecls()
bei Nemerle.Compiler.ManagerClass.Run()
bei Nemerle.Evaluation.Evaluator.Eval(String code)
bei Nemerle.Evaluation.Interpreter.MainClass._N_printev_9740(_N_closure_9629
_N_Main_cp_9739, String c)
System.TypeInitializationException: Der Typeninitialisierer für Nemerle.Compiler
.TyperBase hat eine Ausnahme verursacht. ---> System.Configuration.Configuration
ErrorsException: Das Konfigurationssystem konnte nicht initialisiert werden. ---
> System.Configuration.ConfigurationErrorsException: Unbekannter Konfigurationsa
bschnitt "dllmap". (D:\Programme\Nemerle\nemish.exe.config line 2)
bei System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean igno
reLocal)
bei System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(Configura
tionSchemaErrors schemaErrors)
bei System.Configuration.BaseConfigurationRecord.ThrowIfInitErrors()
bei System.Configuration.ClientConfigurationSystem.EnsureInit(String configKe
y)
--- Ende der internen Ausnahmestapelüberwachung ---
bei System.Configuration.ClientConfigurationSystem.EnsureInit(String configKe
y)
bei System.Configuration.ClientConfigurationSystem.PrepareClientConfigSystem(
String sectionName)
bei System.Configuration.ClientConfigurationSystem.System.Configuration.Inter
nal.IInternalConfigSystem.GetSection(String sectionName)
bei System.Configuration.ConfigurationManager.GetSection(String sectionName)
bei System.Configuration.PrivilegedConfigurationManager.GetSection(String sec
tionName)
bei System.Diagnostics.DiagnosticsConfiguration.GetConfigSection()
bei System.Diagnostics.DiagnosticsConfiguration.Initialize()
bei System.Diagnostics.DiagnosticsConfiguration.get_IndentSize()
bei System.Diagnostics.TraceInternal.InitializeSettings()
bei System.Diagnostics.Debug.set_IndentSize(Int32 value)
bei Nemerle.Compiler.TyperBase..cctor()
--- Ende der internen Ausnahmestapelüberwachung ---
bei Nemerle.Compiler.Typer..ctor(ManagerClass mng)
bei Nemerle.Compiler.Typer..ctor(ManagerClass mng, TypeBuilder tb, MethodBuil
der mb)
bei Nemerle.Compiler.Typer..ctor(MethodBuilder m)
bei Nemerle.Compiler.CompilerComponentsFactory.CreateTyper(MethodBuilder m)
bei Nemerle.Compiler.MethodBuilder.RunBodyTyper()
bei Nemerle.Compiler.MethodBuilder.Compile()
bei Nemerle.Compiler.TypeBuilder.EmitImplementation()
bei Nemerle.Compiler.TypesManager._N_emit_impl__53681.apply_void(TypeBuilder
_N__53680)
bei Nemerle.Compiler.TypesManager._N_maybe_f__54248.apply_void(TypeBuilder _N
__54247)
bei Nemerle.Collections.NList.Iter[T](list`1 l, FunctionVoid`1 f)
bei Nemerle.Core.list`1.Iter(FunctionVoid`1 f)
bei Nemerle.Compiler.TypesManager.Iter(list`1 builders, FunctionVoid`1 f)
bei Nemerle.Compiler.TypesManager.Iter(FunctionVoid`1 f)
bei Nemerle.Compiler.TypesManager.compile_all_tyinfos(Boolean aux_phase)
bei Nemerle.Compiler.TypesManager._N__N_lambda__53121__53224.apply_void()
bei Nemerle.Compiler.Solver.Enqueue(FunctionVoid action)
bei Nemerle.Compiler.TypesManager.EmitDecls()
bei Nemerle.Compiler.ManagerClass.Run()
bei Nemerle.Evaluation.Evaluator.Eval(String code)
bei Nemerle.Evaluation.Interpreter.MainClass._N_printev_9740(_N_closure_9629
_N_Main_cp_9739, String c)



Ну, короче, бэта — сырая... У меня все установленно (было, ибо — нефиг) на диске д. Ну, я все еще готов приобщиться...
Re: Не рано ли вышла бета?
От: hardcase Пират http://nemerle.org
Дата: 11.04.10 09:44
Оценка:
Здравствуйте, Аноним, Вы писали:

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


А>---------------------------

А>Nemerle Studio
А>---------------------------
А>Das importierte Projekt C:\Programme\Nemerle\Nemerle.MSBuild.targets wurde nicht gefunden. Vergewissern Sie sich, dass der Pfad in der <Import>-Deklaration korrekt und die Datei auf dem Datenträger vorhanden ist. C:\Dokumente und Einstellungen\Vladimir\Lokale Einstellungen\Temp\lbxyg1tn.ndx\Temp\ConsoleApplication3.nproj
А>---------------------------
А>OK
А>---------------------------

Не стоит менять дефолтное место установки (%ProgramFiles%\Nemerle) — иначе msbuild не сможет найти targets-файл. Вы можете открыть свой nproj файл любым текстовым редактором и подправить параметр <Nemerle/>, тогда проект соберется.


А>Ну, видимо, не судьба... Запустил интерпретатор:


А>Welcome to Nemerle interpreter (using ncc 1.0.0.8745).


Хм. Мне казалось, я это пофиксил...
Удалите nemish.exe.config — падение из за него.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[2]: Не рано ли вышла бета?
От: seregaa Ниоткуда http://blogtani.ru
Дата: 11.04.10 10:02
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Не стоит менять дефолтное место установки (%ProgramFiles%\Nemerle) — иначе msbuild не сможет найти targets-файл. Вы можете открыть свой nproj файл любым текстовым редактором и подправить параметр <Nemerle/>, тогда проект соберется.


Посмотрел, какой путь к таргетсам прописывается в проектах железного питона. Выяснил, что и питон, и F# используют для деплоя таргетсов подпапку в $(MSBuildExtensionsPath), которая сответствует папке "%Program Files%\MSBuild\". Может и нам так сделать?
Мобильная версия сайта RSDN — http://rsdn.org/forum/rsdn/6938747
Автор: sergeya
Дата: 19.10.17
Re[3]: Не рано ли вышла бета?
От: hardcase Пират http://nemerle.org
Дата: 11.04.10 10:19
Оценка:
Здравствуйте, seregaa, Вы писали:

S>Посмотрел, какой путь к таргетсам прописывается в проектах железного питона. Выяснил, что и питон, и F# используют для деплоя таргетсов подпапку в $(MSBuildExtensionsPath), которая сответствует папке "%Program Files%\MSBuild\". Может и нам так сделать?


Тогда нужно Nemerle.MSBuild складывать в GAC и как-то находить куда установлен компилятор. Может всетаки вернуться к переменной окружения?
/* иЗвиНите зА неРовнЫй поЧерК */
Re[4]: Не рано ли вышла бета?
От: seregaa Ниоткуда http://blogtani.ru
Дата: 11.04.10 10:29
Оценка:
Здравствуйте, hardcase, Вы писали:

S>>Посмотрел, какой путь к таргетсам прописывается в проектах железного питона. Выяснил, что и питон, и F# используют для деплоя таргетсов подпапку в $(MSBuildExtensionsPath), которая сответствует папке "%Program Files%\MSBuild\". Может и нам так сделать?


H>Тогда нужно Nemerle.MSBuild складывать в GAC и как-то находить куда установлен компилятор. Может всетаки вернуться к переменной окружения?


Понял. А что заставило в свое время отказаться от переменной? Кстати, можно считать путь из реестра. msbuild умеет считывать значения параметров не только из переменных окружения, но и из реестра: $(registry:Hive\MyKey\MySubKey@Value)
http://msdn.microsoft.com/en-us/library/ms171458.aspx
Мобильная версия сайта RSDN — http://rsdn.org/forum/rsdn/6938747
Автор: sergeya
Дата: 19.10.17
Re[2]: Не рано ли вышла бета?
От: Аноним  
Дата: 11.04.10 10:45
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Вы можете открыть свой nproj файл любым текстовым редактором и подправить параметр <Nemerle/>, тогда проект соберется.

H>Удалите nemish.exe.config — падение из за него.

Я, к сожалению, не энтузиаст

А этот пост, скорее конструктивный ответ на вопрос голосования http://www.rsdn.ru/forum/dotnet/3762622.1.aspx
Автор: VladD2
Дата: 05.04.10


Ждем следующий релиз
Re[5]: Не рано ли вышла бета?
От: hardcase Пират http://nemerle.org
Дата: 11.04.10 11:44
Оценка:
Здравствуйте, seregaa, Вы писали:

S>Понял. А что заставило в свое время отказаться от переменной? Кстати, можно считать путь из реестра. msbuild умеет считывать значения параметров не только из переменных окружения, но и из реестра: $(registry:Hive\MyKey\MySubKey@Value)

S>http://msdn.microsoft.com/en-us/library/ms171458.aspx

Я не знаю почему от переменной окружения отказались. Когда-то была, теперь — нет.
Т.е. ты предлагаешь деплоить targets-файл и Nemerle.MSBuild в стандартный каталог, например $(MSBuildExtensionsPath)\Nemerle\1.0, а при обработки таска находить инсталляцию компилятора из реестра (если она не указана параметром Nemerle)?
/* иЗвиНите зА неРовнЫй поЧерК */
Re[3]: Не рано ли вышла бета?
От: hardcase Пират http://nemerle.org
Дата: 11.04.10 11:45
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Ждем следующий релиз


Что мешает поставить в %ProgramFiles%\Nemerle ?
/* иЗвиНите зА неРовнЫй поЧерК */
Re[4]: Не рано ли вышла бета?
От: Аноним  
Дата: 11.04.10 11:49
Оценка:
А>>Ждем следующий релиз
H>Что мешает поставить в %ProgramFiles%\Nemerle ?
На домашнем компьютере место на диске С закончилось где-то три года назад... А наш системный администратор — на дом не выезжает А чистить диск С — жена отказывается, а самому — не барское дело.
Re[5]: Не рано ли вышла бета?
От: hardcase Пират http://nemerle.org
Дата: 11.04.10 11:53
Оценка:
Здравствуйте, Аноним, Вы писали:

А>>>Ждем следующий релиз

H>>Что мешает поставить в %ProgramFiles%\Nemerle ?
А>На домашнем компьютере место на диске С закончилось где-то три года назад... А наш системный администратор — на дом не выезжает А чистить диск С — жена отказывается, а самому — не барское дело.

Инсталляция занимает без малого 10 Мб.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[6]: Не рано ли вышла бета?
От: seregaa Ниоткуда http://blogtani.ru
Дата: 11.04.10 12:07
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Т.е. ты предлагаешь деплоить targets-файл и Nemerle.MSBuild в стандартный каталог, например $(MSBuildExtensionsPath)\Nemerle\1.0, а при обработки таска находить инсталляцию компилятора из реестра (если она не указана параметром Nemerle)?


так, или наоборот — по умолчанию инициализировать параметр Nemerle значением из рееста.
т.е. в файле проекта вместо
<Nemerle Condition=" '$(Nemerle)' == '' ">$(ProgramFiles)\Nemerle</Nemerle>
прописывать
<Nemerle Condition=" '$(Nemerle)' == '' ">$(registry:...)\Nemerle</Nemerle>
Мобильная версия сайта RSDN — http://rsdn.org/forum/rsdn/6938747
Автор: sergeya
Дата: 19.10.17
Re[7]: Не рано ли вышла бета?
От: hardcase Пират http://nemerle.org
Дата: 11.04.10 12:45
Оценка:
Здравствуйте, seregaa, Вы писали:

S>Здравствуйте, hardcase, Вы писали:


H>>Т.е. ты предлагаешь деплоить targets-файл и Nemerle.MSBuild в стандартный каталог, например $(MSBuildExtensionsPath)\Nemerle\1.0, а при обработки таска находить инсталляцию компилятора из реестра (если она не указана параметром Nemerle)?


S>так, или наоборот — по умолчанию инициализировать параметр Nemerle значением из рееста.

S>т.е. в файле проекта вместо
S><Nemerle Condition=" '$(Nemerle)' == '' ">$(ProgramFiles)\Nemerle</Nemerle>
S>прописывать
S><Nemerle Condition=" '$(Nemerle)' == '' ">$(registry:...)\Nemerle</Nemerle>

Вообще указание размещения компилятора в пользовательских проектах нехорошая практика, этот параметр нужен в основном для сборки самого компилятора и библиотек.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[8]: Не рано ли вышла бета?
От: seregaa Ниоткуда http://blogtani.ru
Дата: 11.04.10 13:14
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Вообще указание размещения компилятора в пользовательских проектах нехорошая практика, этот параметр нужен в основном для сборки самого компилятора и библиотек.


Тем не менее сейчас это указание есть во всех пользовательских проектах, причем жестко указывающее на диск c:\

Давай тогда сделаем по первому варианту. Переменная в проектах по умолчанию будет отсутствовать, и в этом случае путь будет браться из рееста.

Этот путь уже прописывется инсталятором в HKEY_CURRENT_USER\Software\$(var.ProductName)\InstallDir, где $(var.ProductName) сейчас — это "Nemerle Beta 1"
Мобильная версия сайта RSDN — http://rsdn.org/forum/rsdn/6938747
Автор: sergeya
Дата: 19.10.17
Re: Не рано ли вышла бета?
От: Аноним  
Дата: 11.04.10 14:15
Оценка:
Уважаемые корифеи — вы, пожалуйста, переодически аннонсируйте новые ключевые билды. А то — заинтриговали, демоны!
Re: Не рано ли вышла бета?
От: Аноним  
Дата: 11.04.10 16:02
Оценка:
А как добавить новый референс в Macro References? Правая кнопка мыши не работает.

Кстати просто References через ИДЕ тоже добавить не удалось... Пришлось редактировать файл проекта...
Re[9]: Не рано ли вышла бета?
От: hardcase Пират http://nemerle.org
Дата: 11.04.10 16:41
Оценка:
Здравствуйте, seregaa, Вы писали:


S>Этот путь уже прописывется инсталятором в HKEY_CURRENT_USER\Software\$(var.ProductName)\InstallDir, где $(var.ProductName) сейчас — это "Nemerle Beta 1"



Да, из реестра видимо и стоит брать, по крайней мере FSharp.Build именно так и поступает.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[9]: Не рано ли вышла бета?
От: hardcase Пират http://nemerle.org
Дата: 11.04.10 17:02
Оценка:
Здравствуйте, seregaa, Вы писали:

S>Этот путь уже прописывется инсталятором в HKEY_CURRENT_USER\Software\$(var.ProductName)\InstallDir, где $(var.ProductName) сейчас — это "Nemerle Beta 1"


Эта переменная пустая
Может быть лучше прописывать путь в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders\Nemerle ?
/* иЗвиНите зА неРовнЫй поЧерК */
Re[10]: Не рано ли вышла бета?
От: seregaa Ниоткуда http://blogtani.ru
Дата: 11.04.10 17:10
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Здравствуйте, seregaa, Вы писали:


S>>Этот путь уже прописывется инсталятором в HKEY_CURRENT_USER\Software\$(var.ProductName)\InstallDir, где $(var.ProductName) сейчас — это "Nemerle Beta 1"


H>Эта переменная пустая

Значит баг в инсталяторе

H>Может быть лучше прописывать путь в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders\Nemerle ?

А это мысль! Заодно сборки Немерле попадут в список Add Reference. Сейчас добавлю создание этого ключа в инсталятор.
Мобильная версия сайта RSDN — http://rsdn.org/forum/rsdn/6938747
Автор: sergeya
Дата: 19.10.17
Re[11]: Не рано ли вышла бета?
От: hardcase Пират http://nemerle.org
Дата: 12.04.10 06:57
Оценка:
Здравствуйте, seregaa, Вы писали:


H>>Может быть лучше прописывать путь в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders\Nemerle ?

S>А это мысль! Заодно сборки Немерле попадут в список Add Reference. Сейчас добавлю создание этого ключа в инсталятор.

А ведь параметр Nemerle также используется для подцепления референсов (для пользовательских проектов NoStdLib = True).
Я так понимаю, что это требуется для копирования Nemerle.dll в каталог приложения.
/* иЗвиНите зА неРовнЫй поЧерК */
Re: Не рано ли вышла бета?
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.04.10 19:47
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Не рано ли вышла бета?


Дык, как же мы без вших фитбэков нашли бы ошибки?

И вообще, как тумаете, зачем выпускают бэты?

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


Спасибо за фитбэк.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.