retarget-compiler to dotnet core
Клонирую ветку в c:\tmp
clone -b retarget-compler https://github.com/rsdn/nemerle.git
через dev tool vs 2017
выполняю Build-core.cmd из каталога c:\tmp\nemerle
исправив
msbuild NemerleAll.nproj /t:Stage1;CompilerTests;_ComputationExpressions;_Async;Install /p:NTargetName=Build;Configuration=%Config%;NInstall=c:\RSDN\nemerle\bin\%Config%\net-4.0
на
msbuild NemerleAll.nproj /t:Stage1;Install /p:NTargetName=Build;Configuration=%Config%;NInstall=c:\tmp\nemerle\bin\%Config%\net-4.0
Далее делаю тестовый батник:
echo System.Console.WriteLine("Hello!"); > App.n
del err.txt
dotnet ncc.dll -r:Nemerle.Macros.dll App.n > err.txt 2>&1
Изначально ругался невозможность загрузить SecurityAttribute
SecurityAttribute_tc = lookup("System.Object");// - обошел заменив на объект и пересобрав
Затем стал ругаться на маркосы, добавил configProperties в ncc.runtimeconfig.json:
{
"runtimeOptions": {
"tfm": "netcoreapp2.1",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "2.1.0"
},
"configProperties": {
"Microsoft.NETCore.DotNetHostPolicy.SetAppPaths": true
}
}
}
и параметром ссылку на Nemerle.Macros.dll из рабочего каталога,
теперь ругается:
C:\tmp\nemerle\bin\Release\dotnet\App.n(1,1,1,7):[01;31merror[0m: unbound name `Console' in `System'
Неужели из СДК не тянет и это автоматом?
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: retarget-compiler to dotnet core
Скопилилось командой:
dotnet ncc.dll -r:Nemerle.Macros.dll -r:"C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Console.dll" App.n > err.txt 2>&1
Однако полученный out.exe все равно отказывается работать
Необработанное исключение: System.IO.FileNotFoundException: Не удалось загрузить файл или сборку "System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" либо одну из их зависимостей. Не удается найти указанный файл.
— если запустить exe
A fatal error was encountered. The library 'hostpolicy.dll' required to execute the application was not found in 'C:\tmp\nemerle\bin\Release\dotnet\'.
Failed to run as a self-contained app. If this should be a framework-dependent app, add the C:\tmp\nemerle\bin\Release\dotnet\out.runtimeconfig.json file specifying the appropriate framework.
— если запустить dotnet out.exe
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: retarget-compiler to dotnet core
Здравствуйте, varenikAA, Вы писали:
AA>выполняю Build-core.cmd из каталога c:\tmp\nemerle
AA>исправив
AA>AA>msbuild NemerleAll.nproj /t:Stage1;CompilerTests;_ComputationExpressions;_Async;Install /p:NTargetName=Build;Configuration=%Config%;NInstall=c:\RSDN\nemerle\bin\%Config%\net-4.0
AA>
AA>на
AA>AA>msbuild NemerleAll.nproj /t:Stage1;Install /p:NTargetName=Build;Configuration=%Config%;NInstall=c:\tmp\nemerle\bin\%Config%\net-4.0
AA>
Зачем? При этом не собрались некоторые части компилятора вроде плагина для поддержки C#.
AA>Изначально ругался невозможность загрузить SecurityAttribute
Это потому что ты не указал сборку где этот атрибут находится.
AA>AA> SecurityAttribute_tc = lookup("System.Object");// - обошел заменив на объект и пересобрав
AA>
Это делать нельзя, так как это привязывает компилятор к платформе.
AA>Затем стал ругаться на маркосы, добавил configProperties в ncc.runtimeconfig.json:
Короче, попробовал сам собрать компилятор под Кор и им же собрать хэлоуворлд. Напаролся на проблему с загрузкой стандартной макро-сборки (которая грузится по имени). Похоже Assembly.LoadWithPartialName() в корке не реализованна должным образом. Провел следственные эксперементы и обнаружил, что в 4.6.1 дотнете и корке обычный Assembly.Load() умеет грузить сборки по частичному имени. По сему заменил Assembly.LoadWithPartialName на Assembly.Load. Смотри последний коммит.
Ну, а далее все спокойно собралось. Только нужно задавать все референсы явно. Проще всего это сделать собрав корочный проект C#-ом и подсмотрев в выхлопе студии (предворительно подняв уровень выхлопа до Detailed) командную строку csc.exe. Что я и сделал. На основе полученного списка сборок составил следующий файл ответов:
response.txt test1.n
/no-color
/nostdmacros
/nostdlib
/debug:+
/target:Exe
/out:test1.dll
/m:c:\!\RSDN\nemerle\bin\Debug\net-4.0\Stage1\Nemerle.Macros.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\Microsoft.CSharp.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\Microsoft.VisualBasic.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\Microsoft.Win32.Primitives.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\mscorlib.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\netstandard.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.AppContext.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Buffers.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Collections.Concurrent.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Collections.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Collections.Immutable.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Collections.NonGeneric.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Collections.Specialized.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.ComponentModel.Annotations.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.ComponentModel.DataAnnotations.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.ComponentModel.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.ComponentModel.EventBasedAsync.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.ComponentModel.Primitives.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.ComponentModel.TypeConverter.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Configuration.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Console.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Core.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Data.Common.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Data.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Diagnostics.Contracts.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Diagnostics.Debug.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Diagnostics.DiagnosticSource.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Diagnostics.FileVersionInfo.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Diagnostics.Process.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Diagnostics.StackTrace.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Diagnostics.TextWriterTraceListener.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Diagnostics.Tools.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Diagnostics.TraceSource.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Diagnostics.Tracing.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Drawing.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Drawing.Primitives.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Dynamic.Runtime.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Globalization.Calendars.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Globalization.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Globalization.Extensions.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.IO.Compression.Brotli.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.IO.Compression.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.IO.Compression.FileSystem.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.IO.Compression.ZipFile.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.IO.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.IO.FileSystem.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.IO.FileSystem.DriveInfo.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.IO.FileSystem.Primitives.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.IO.FileSystem.Watcher.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.IO.IsolatedStorage.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.IO.MemoryMappedFiles.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.IO.Pipes.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.IO.UnmanagedMemoryStream.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Linq.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Linq.Expressions.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Linq.Parallel.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Linq.Queryable.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Memory.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Net.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Net.Http.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Net.HttpListener.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Net.Mail.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Net.NameResolution.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Net.NetworkInformation.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Net.Ping.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Net.Primitives.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Net.Requests.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Net.Security.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Net.ServicePoint.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Net.Sockets.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Net.WebClient.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Net.WebHeaderCollection.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Net.WebProxy.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Net.WebSockets.Client.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Net.WebSockets.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Numerics.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Numerics.Vectors.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.ObjectModel.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Reflection.DispatchProxy.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Reflection.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Reflection.Emit.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Reflection.Emit.ILGeneration.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Reflection.Emit.Lightweight.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Reflection.Extensions.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Reflection.Metadata.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Reflection.Primitives.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Reflection.TypeExtensions.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Resources.Reader.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Resources.ResourceManager.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Resources.Writer.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Runtime.CompilerServices.VisualC.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Runtime.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Runtime.Extensions.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Runtime.Handles.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Runtime.InteropServices.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Runtime.InteropServices.RuntimeInformation.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Runtime.InteropServices.WindowsRuntime.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Runtime.Loader.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Runtime.Numerics.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Runtime.Serialization.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Runtime.Serialization.Formatters.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Runtime.Serialization.Json.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Runtime.Serialization.Primitives.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Runtime.Serialization.Xml.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Security.Claims.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Security.Cryptography.Algorithms.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Security.Cryptography.Csp.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Security.Cryptography.Encoding.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Security.Cryptography.Primitives.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Security.Cryptography.X509Certificates.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Security.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Security.Principal.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Security.SecureString.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.ServiceModel.Web.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.ServiceProcess.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Text.Encoding.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Text.Encoding.Extensions.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Text.RegularExpressions.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Threading.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Threading.Overlapped.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Threading.Tasks.Dataflow.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Threading.Tasks.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Threading.Tasks.Extensions.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Threading.Tasks.Parallel.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Threading.Thread.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Threading.ThreadPool.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Threading.Timer.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Transactions.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Transactions.Local.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.ValueTuple.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Web.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Web.HttpUtility.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Windows.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Xml.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Xml.Linq.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Xml.ReaderWriter.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Xml.Serialization.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Xml.XDocument.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Xml.XmlDocument.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Xml.XmlSerializer.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Xml.XPath.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\System.Xml.XPath.XDocument.dll
/reference:C:\Users\vc_000\.nuget\packages\microsoft.netcore.app\2.1.0\ref\netcoreapp2.1\WindowsBase.dll
Далее я написал test1.n следующего содержания:
System.Console.WriteLine("Hello!!! " + typeof (string ).Assembly.Location);
М скромил response.txt компилятору:
dotnet ncc-core.dll @tesponce.txt
В результате получился test1.dll.
Далее я создал test1.runtimeconfig.json для него:
{
"runtimeOptions": {
"tfm": "netcoreapp2.1",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "2.1.0"
}
}
}
И выполнил:
c:\!\RSDN\nemerle\bin\Debug\net-4.0\Stage1>dotnet test1.dll
Hello!!! C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.13\System.Private.CoreLib.dll
Есть логика намерений и логика обстоятельств,
последняя всегда сильнее .
Re[2]: retarget-compiler to dotnet core
Здравствуйте, VladD2, Вы писали:
VD>И выполнил:
VD>VD>c:\!\RSDN\nemerle\bin\Debug\net-4.0\Stage1>dotnet test1.dll
VD>Hello!!! C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.13\System.Private.CoreLib.dll
VD>
Большое спасибо за развернутый ответ!
Уже собрал новый коммит, про референсы уже понял(отчасти), буду разбираться.
Дело в том, что в классике это все очень просто через -r задавалось, в корэ же в deps.json/runtimeconfig.json требуется еще указывать дополнительные опции.
Например, чтобы разрешить грузить сборки из рабочего каталога требуется отдельная настройка(по умолчанию отключено).
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[2]: retarget-compiler to dotnet core
Здравствуйте, VladD2, Вы писали:
VD>И выполнил:
VD>VD>c:\!\RSDN\nemerle\bin\Debug\net-4.0\Stage1>dotnet test1.dll
VD>Hello!!! C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.13\System.Private.CoreLib.dll
VD>
На Windows 10 запустилось как и предполагалось(через dotnet test1.dll).
Только референсы пришлось сменить на 2.1.8 (2.1.0 на пк не оказалось).
Затем установил на Ubuntu 18.04 LTS dotnet sdk 2.1.804 и скопировал на linux корень папки bin\Debug\net-4.0
к сожалению сборка не запустилась
dotnet test1.dll
Unhandled Exception: System.BadImageFormatException: Could not load file or assembly 'test1.dll'. The module was expected to contain an assembly manifest.
Aborted
Аналогично:
dotnet ncc-core.dll
Unhandled Exception: System.BadImageFormatException: Could not load file or assembly 'ncc-core.dll'. The module was expected to contain an assembly manifest.
Aborted
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[3]: retarget-compiler to dotnet core
Здравствуйте, varenikAA, Вы писали:
AA>dotnet ncc-core.dll
AA>Unhandled Exception: System.BadImageFormatException: Could not load file or assembly 'ncc-core.dll'. The module was expected to contain an assembly manifest.
AA>Aborted
AA>[/q]
О, как? Попробую на встроенном в Винду Линухе, как будет время. Надеюсь его будет достаточно для воспроизведения.
Есть логика намерений и логика обстоятельств,
последняя всегда сильнее .
Re[3]: retarget-compiler to dotnet core
Здравствуйте, varenikAA, Вы писали:
AA>Unhandled Exception: System.BadImageFormatException: Could not load file or assembly 'test1.dll'. The module was expected to contain an assembly manifest.
AA>Aborted
AA>[/q]
AA>Аналогично:
AA>AA>dotnet ncc-core.dll
AA>Unhandled Exception: System.BadImageFormatException: Could not load file or assembly 'ncc-core.dll'. The module was expected to contain an assembly manifest.
AA>Aborted
Пришли мне по скайпу или по почте получившиеся у тебы .dll. Посмотрим что в них.
Есть логика намерений и логика обстоятельств,
последняя всегда сильнее .
Re[4]: retarget-compiler to dotnet core
Здравствуйте, VladD2, Вы писали:
VD>Пришли мне по скайпу или по почте получившиеся у тебы .dll. Посмотрим что в них.
Отправил на почту из профиля.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[4]: retarget-compiler to dotnet core
Здравствуйте, VladD2, Вы писали:
VD>Пришли мне по скайпу или по почте получившиеся у тебы .dll. Посмотрим что в них.
По почте не уходит. Выложил на диск
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[5]: retarget-compiler to dotnet core
Здравствуйте, varenikAA, Вы писали:
AA>
На первый взгляд проблемным выглядит только ссылка на CodeDom (она завязана на виндоые сборки).
В test1.dll вообще проблем не видно. Странно, что она не запускается.
Какой у тебя Кор под Линуксом? И какой Линукс? Стоит ли на нем .Net Core SDK? Для сборки нужен именно он.
Есть логика намерений и логика обстоятельств,
последняя всегда сильнее .
Re[6]: retarget-compiler to dotnet core
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, varenikAA, Вы писали:
AA>>
VD>На первый взгляд проблемным выглядит только ссылка на CodeDom (она завязана на виндоые сборки).
VD>В test1.dll вообще проблем не видно. Странно, что она не запускается.
VD>Какой у тебя Кор под Линуксом? И какой Линукс? Стоит ли на нем .Net Core SDK? Для сборки нужен именно он.
it@ubuntu:~/nemerle$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.4 LTS
Release: 18.04
Codename: bionic
it@ubuntu:~/nemerle$ uname -a
Linux ubuntu 4.15.0-76-generic #86-Ubuntu SMP Fri Jan 17 17:24:28 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
dotnet ставил из tar-архива по официальному мануалу
it@ubuntu:~/nemerle$ dotnet --version
2.1.804
it@ubuntu:~/nemerle$ dotnet --list-sdks
2.1.804 [/home/it/dotnet/sdk]
it@ubuntu:~/nemerle$ dotnet --list-runtimes
Microsoft.AspNetCore.All 2.1.16 [/home/it/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.16 [/home/it/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.16 [/home/it/dotnet/shared/Microsoft.NETCore.App]
Потом скопировал через ftp на линукс (он у меня без гуя).
Рабочий каталог it@ubuntu:~/nemerle$ ls
a.txt System.Diagnostics.TraceSource.dll
ComputationExpressions.Tests.exe System.Diagnostics.Tracing.dll
ComputationExpressions.Tests.exe.config System.Drawing.Primitives.dll
ComputationExpressions.Tests.pdb System.Dynamic.Runtime.dll
CSharpParser.deps.json System.Globalization.Calendars.dll
CSharpParser.dll System.Globalization.dll
CSharpParser.pdb System.Globalization.Extensions.dll
CSharpParser.TestMacros.deps.json System.IO.Compression.dll
CSharpParser.TestMacros.dll System.IO.Compression.ZipFile.dll
CSharpParser.TestMacros.pdb System.IO.dll
CSharpParser.Tests.exe System.IO.FileSystem.dll
CSharpParser.Tests.exe.config System.IO.FileSystem.DriveInfo.dll
CSharpParser.Tests.pdb System.IO.FileSystem.Primitives.dll
dnlib.dll System.IO.FileSystem.Watcher.dll
main.n System.IO.IsolatedStorage.dll
main.resp System.IO.MemoryMappedFiles.dll
Microsoft.Win32.Primitives.dll System.IO.Pipes.dll
ncc-core.deps.json System.IO.UnmanagedMemoryStream.dll
ncc-core.dll System.Linq.dll
ncc-core.pdb System.Linq.Expressions.dll
ncc-core.runtimeconfig.dev.json System.Linq.Parallel.dll
ncc-core.runtimeconfig.json System.Linq.Queryable.dll
ncc.exe System.Net.Http.dll
ncc.exe.config System.Net.NameResolution.dll
ncc.parser.csharp.deps.json System.Net.NetworkInformation.dll
ncc.parser.csharp.dll System.Net.Ping.dll
ncc.parser.csharp.pdb System.Net.Primitives.dll
ncc.pdb System.Net.Requests.dll
Nemerle.Async.deps.json System.Net.Security.dll
Nemerle.Async.dll System.Net.Sockets.dll
Nemerle.Async.Macros.deps.json System.Net.WebHeaderCollection.dll
Nemerle.Async.Macros.dll System.Net.WebSockets.Client.dll
Nemerle.Async.Macros.pdb System.Net.WebSockets.dll
Nemerle.Async.pdb System.ObjectModel.dll
Nemerle.Compiler.deps.json System.Reflection.dll
Nemerle.Compiler.dll System.Reflection.Extensions.dll
Nemerle.Compiler.pdb System.Reflection.Primitives.dll
Nemerle.ComputationExpressions.deps.json System.Resources.Reader.dll
Nemerle.ComputationExpressions.dll System.Resources.ResourceManager.dll
Nemerle.ComputationExpressions.Macros.deps.json System.Resources.Writer.dll
Nemerle.ComputationExpressions.Macros.dll System.Runtime.CompilerServices.VisualC.dll
Nemerle.ComputationExpressions.Macros.pdb System.Runtime.dll
Nemerle.ComputationExpressions.pdb System.Runtime.Extensions.dll
Nemerle.deps.json System.Runtime.Handles.dll
Nemerle.dll System.Runtime.InteropServices.dll
Nemerle.Macros.deps.json System.Runtime.InteropServices.RuntimeInformation.dll
Nemerle.Macros.dll System.Runtime.Numerics.dll
Nemerle.Macros.pdb System.Runtime.Serialization.Formatters.dll
Nemerle.MSBuild.targets System.Runtime.Serialization.Json.dll
Nemerle.MSBuild.Tasks.dll System.Runtime.Serialization.Primitives.dll
Nemerle.pdb System.Runtime.Serialization.Xml.dll
Nemerle.Peg.deps.json System.Security.Claims.dll
Nemerle.Peg.dll System.Security.Cryptography.Algorithms.dll
Nemerle.Peg.Macros.deps.json System.Security.Cryptography.Csp.dll
Nemerle.Peg.Macros.dll System.Security.Cryptography.Encoding.dll
Nemerle.Peg.Macros.pdb System.Security.Cryptography.Primitives.dll
Nemerle.Peg.pdb System.Security.Cryptography.X509Certificates.dll
Nemerle.Sdk.props System.Security.Principal.dll
Nemerle.Sdk.targets System.Security.SecureString.dll
netstandard.dll System.Text.Encoding.dll
out.exe System.Text.Encoding.Extensions.dll
System.AppContext.dll System.Text.RegularExpressions.dll
System.CodeDom.dll System.Threading.dll
System.Collections.Concurrent.dll System.Threading.Overlapped.dll
System.Collections.dll System.Threading.Tasks.dll
System.Collections.NonGeneric.dll System.Threading.Tasks.Parallel.dll
System.Collections.Specialized.dll System.Threading.Thread.dll
System.ComponentModel.dll System.Threading.ThreadPool.dll
System.ComponentModel.EventBasedAsync.dll System.Threading.Timer.dll
System.ComponentModel.Primitives.dll System.ValueTuple.dll
System.ComponentModel.TypeConverter.dll System.Xml.ReaderWriter.dll
System.Console.dll System.Xml.XDocument.dll
System.Data.Common.dll System.Xml.XmlDocument.dll
System.Diagnostics.Contracts.dll System.Xml.XmlSerializer.dll
System.Diagnostics.Debug.dll System.Xml.XPath.dll
System.Diagnostics.FileVersionInfo.dll System.Xml.XPath.XDocument.dll
System.Diagnostics.Process.dll test1.dll
System.Diagnostics.StackTrace.dll test1.pdb
System.Diagnostics.TextWriterTraceListener.dll test1.runtimeconfig.json
System.Diagnostics.Tools.dll testReadWrite
it@ubuntu:~/nemerle$
Запускал по ssh из рабочего каталога.
Сейчас возникла идея, может при копировании по ftp случилась проблема, попробую архивом передать и повторить.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[6]: retarget-compiler to dotnet core
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, varenikAA, Вы писали:
AA>>
VD>На первый взгляд проблемным выглядит только ссылка на CodeDom (она завязана на виндоые сборки).
VD>В test1.dll вообще проблем не видно. Странно, что она не запускается.
VD>Какой у тебя Кор под Линуксом? И какой Линукс? Стоит ли на нем .Net Core SDK? Для сборки нужен именно он.
Всё работает!!! Извиняюсь за свою тупость. Забыл, что надо перевести было ftp перед загрузкой в binary режим.
Реально круто!
Спасибо!
Когда следует ждать поддержку VS Code?
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[7]: retarget-compiler to dotnet core
Здравствуйте, varenikAA, Вы писали:
AA>Всё работает!!! Извиняюсь за свою тупость. Забыл, что надо перевести было ftp перед загрузкой в binary режим.
AA>Реально круто!
Отлично!
AA>Когда следует ждать поддержку VS Code?
Сейчас реанимируем плагин для VS 2017 для Немерла. Без него развивать проекты очень сложно.
Думаю на следующе неделе он заработает. После этого перейдем к работе над поддержкой VS Code для Нитры.
Есть логика намерений и логика обстоятельств,
последняя всегда сильнее .
Re[8]: retarget-compiler to dotnet core
Здравствуйте, VladD2, Вы писали:
AA>>Когда следует ждать поддержку VS Code?
VD>Сейчас реанимируем плагин для VS 2017 для Немерла. Без него развивать проекты очень сложно.
Кстати, а он на 2019 не заработает ?
Re[9]: retarget-compiler to dotnet core
Здравствуйте, _NN_, Вы писали:
_NN>Кстати, а он на 2019 не заработает ?
Не знаю. По идее должен. Но поставить VS 2019 пока что не могу. Может как-нить на виртуалке попробую если время будет.
Если кто-то попробует и отпишется о проблемах буду признателен.
Пробовать надо интеграцию из ветки retarget-compiler. Она переведена на новый VS API.
Есть логика намерений и логика обстоятельств,
последняя всегда сильнее .
Пока на собственное сообщение не было ответов, его можно удалить.
Удалить