The assembly update failed.
- Dominant language
- C#
- Stars
- 20.7k
- Forks
- 4.3k
- PR merge metrics
- PR metrics pending
Description
**Version Used**:
**Steps to Reproduce**:
Console.WriteLine(MetadataUpdater.IsSupported); //True
Console.WriteLine(Debugger.IsAttached); //False
```cs
//Dynamic Compile - Get New Assembly Stream
var compileResult = _compilation.Emit(
dllStream,
pdbStream: pdbStream,
xmlDocumentationStream: xmlStream,
metadataPEStream: metaStream
);
LogCompilationEvent?.Invoke(_compilation.GetNatashaLog());
//Update
if (compileResult.Success)
{
var ilDelta = AsReadOnlySpan(dllStream);
var pdbDelta = AsReadOnlySpan(pdbStream);
var metadataDelta = AsReadOnlySpan(metaStream);
MetadataUpdater.ApplyUpdate(oldAssembly, metadataDelta, ilDelta, pdbDelta);
}
static ReadOnlySpan AsReadOnlySpan(Stream input)
{
input.Seek(0, SeekOrigin.Begin);
using MemoryStream ms = new MemoryStream();
input.CopyTo(ms);
return ms.GetBuffer().AsSpan();
}
```
```cs
//old assembly:
public class A{ public int Code = 1; public void Show(){ Console.WriteLine(Code); } }
//new assembly:
public class A{ public int Code = 2; public int Code1 = 0; public void Show(){ Console.WriteLine(Code); } }
```
InvalidOperationException : The assembly update failed.
**Diagnostic Id**:
**Expected Behavior**:
The assembly update succeed.
**Actual Behavior**:
The assembly update failed.
Contributor guide
Assessment
This issue has not been assessed yet.