@@ -36,7 +36,7 @@ public sealed class DotNetFunctionInvoker : FunctionInvokerBase
36
36
private FunctionSignature _functionSignature ;
37
37
private IFunctionMetadataResolver _metadataResolver ;
38
38
private Func < Task > _reloadScript ;
39
- private Action _shutdown ;
39
+ private Action _onReferencesChanged ;
40
40
private Action _restorePackages ;
41
41
private Action < MethodInfo , object [ ] , object [ ] , object > _resultProcessor ;
42
42
private string [ ] _watchedFileTypes ;
@@ -70,8 +70,8 @@ internal DotNetFunctionInvoker(ScriptHost host,
70
70
_reloadScript = ReloadScriptAsync ;
71
71
_reloadScript = _reloadScript . Debounce ( ) ;
72
72
73
- _shutdown = ( ) => Host . Shutdown ( ) ;
74
- _shutdown = _shutdown . Debounce ( ) ;
73
+ _onReferencesChanged = OnReferencesChanged ;
74
+ _onReferencesChanged = _onReferencesChanged . Debounce ( ) ;
75
75
76
76
_restorePackages = RestorePackages ;
77
77
_restorePackages = _restorePackages . Debounce ( ) ;
@@ -100,12 +100,8 @@ protected override void OnScriptFileChanged(FileSystemEventArgs e)
100
100
string fileExtension = Path . GetExtension ( e . Name ) ;
101
101
if ( ScriptConstants . AssemblyFileTypes . Contains ( fileExtension , StringComparer . OrdinalIgnoreCase ) )
102
102
{
103
- string message = "Assembly changes detected. Restarting host..." ;
104
- TraceWriter . Info ( message ) ;
105
- Logger ? . LogInformation ( message ) ;
106
-
107
103
// As a result of an assembly change, we initiate a full host shutdown
108
- _shutdown ( ) ;
104
+ _onReferencesChanged ( ) ;
109
105
}
110
106
else if ( _watchedFileTypes . Contains ( fileExtension ) )
111
107
{
@@ -117,6 +113,15 @@ protected override void OnScriptFileChanged(FileSystemEventArgs e)
117
113
}
118
114
}
119
115
116
+ private void OnReferencesChanged ( )
117
+ {
118
+ string message = "Assembly reference changes detected. Restarting host..." ;
119
+ TraceWriter . Info ( message ) ;
120
+ Logger ? . LogInformation ( message ) ;
121
+
122
+ Host . Shutdown ( ) ;
123
+ }
124
+
120
125
public override void OnError ( Exception ex )
121
126
{
122
127
string error = Utility . FlattenException ( ex , s =>
@@ -209,12 +214,12 @@ internal async Task RestorePackagesAsync(bool reloadScriptOnSuccess = true)
209
214
{
210
215
if ( ! result . IsInitialInstall && result . ReferencesChanged )
211
216
{
212
- TraceOnPrimaryHost ( "Package references have changed. Restarting host... " , TraceLevel . Info ) ;
217
+ TraceOnPrimaryHost ( "Package references have changed." , TraceLevel . Info ) ;
213
218
214
219
// If this is not the initial package install and references changed,
215
220
// shutdown the host, which will cause it to have a clean start and load the new
216
221
// assembly references
217
- _shutdown ( ) ;
222
+ _onReferencesChanged ( ) ;
218
223
}
219
224
else
220
225
{
0 commit comments