File tree Expand file tree Collapse file tree 1 file changed +13
-2
lines changed
Expand file tree Collapse file tree 1 file changed +13
-2
lines changed Original file line number Diff line number Diff line change @@ -37,12 +37,23 @@ public override int Execute()
3737
3838 try
3939 {
40+ // Создаём скрипт-заглушку который загружает библиотеку
41+ var loaderScript = $ "#Использовать \" { _libraryPath . Replace ( "\\ " , "\\ \\ " ) } \" ";
42+
4043 var builder = ConsoleHostBuilder . Create ( _libraryPath ) ;
4144 var hostedScript = ConsoleHostBuilder . Build ( builder ) ;
4245 hostedScript . Initialize ( ) ;
4346
44- var libraryBuilder = new LibraryBuilder ( hostedScript . Engine , hostedScript . GetCompilerService ( ) ) ;
45- var package = libraryBuilder . Build ( _libraryPath , hostedScript . Engine . NewProcess ( ) ) ;
47+ var process = hostedScript . Engine . NewProcess ( ) ;
48+ var compiler = hostedScript . GetCompilerService ( ) ;
49+
50+ // Компилируем скрипт-заглушку — это загрузит библиотеку в контекст
51+ var loaderSource = hostedScript . Engine . Loader . FromString ( loaderScript ) ;
52+ compiler . Compile ( loaderSource , process ) ;
53+
54+ // Теперь все модули библиотеки в контексте, можно компилировать
55+ var libraryBuilder = new LibraryBuilder ( hostedScript . Engine , compiler ) ;
56+ var package = libraryBuilder . Build ( _libraryPath , process ) ;
4657
4758 var outputPath = string . IsNullOrEmpty ( _outputPath )
4859 ? _libraryPath + ".oslib"
You can’t perform that action at this time.
0 commit comments