Skip to content

Commit 37b0acf

Browse files
committed
Fixed extraction of embedded files by using "using{}"
1 parent da7c528 commit 37b0acf

File tree

2 files changed

+19
-10
lines changed

2 files changed

+19
-10
lines changed

Interrupts_8086.csproj

+5-3
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@
88
<Nullable>enable</Nullable>
99
<ApplicationIcon>Interrupts_8086.ico</ApplicationIcon>
1010
<DebugType>embedded</DebugType>
11-
<SignAssembly>False</SignAssembly>
11+
<SignAssembly>True</SignAssembly>
1212
<Authors>Daniel Hermes</Authors>
1313
<Company>Tesla Automation || DHBW Mannheim</Company>
1414
<PackageProjectUrl>https://github.com/TXAE/Interrupts_8086</PackageProjectUrl>
1515
<PackageReadmeFile>README.md</PackageReadmeFile>
1616
<RepositoryUrl>https://github.com/TXAE/Interrupts_8086</RepositoryUrl>
1717
<PackageTags>Digital</PackageTags>
18-
<Description>Simulates interrupt handling of the Intel 8086 chip within Digital.
19-
Builds on previous work by Silas Gerhard.</Description>
18+
<Description>Simulates interrupt handling of the Intel 8086 chip within Digital</Description>
19+
<AssemblyOriginatorKeyFile></AssemblyOriginatorKeyFile>
2020
</PropertyGroup>
2121

2222
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
@@ -29,6 +29,7 @@ Builds on previous work by Silas Gerhard.</Description>
2929
<None Remove="Resources\Interruptcontroller.dig" />
3030
<None Remove="Resources\IPCS.dig" />
3131
<None Remove="Resources\ISR.dig" />
32+
<None Remove="Resources\IVT.hex" />
3233
<None Remove="Resources\Main_Interruptverarbeitung_8086.dig" />
3334
<None Remove="Resources\Misc.dig" />
3435
<None Remove="Resources\Offsetadd.dig" />
@@ -47,6 +48,7 @@ Builds on previous work by Silas Gerhard.</Description>
4748
<EmbeddedResource Include="Resources\Interruptcontroller.dig" />
4849
<EmbeddedResource Include="Resources\IPCS.dig" />
4950
<EmbeddedResource Include="Resources\ISR.dig" />
51+
<EmbeddedResource Include="Resources\IVT.hex" />
5052
<EmbeddedResource Include="Resources\Main_Interruptverarbeitung_8086.dig" />
5153
<EmbeddedResource Include="Resources\Misc.dig" />
5254
<EmbeddedResource Include="Resources\Offsetadd.dig" />

Program.cs

+14-7
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,21 @@
44
Directory.CreateDirectory("Embedded_Circuits");
55

66
//extract assemblies
7-
string[] assemblyNames = Assembly.GetExecutingAssembly().GetManifestResourceNames();
8-
foreach (string assemblyName in assemblyNames)
7+
string[] resourceNames = Assembly.GetExecutingAssembly().GetManifestResourceNames();
8+
foreach (string resourceName in resourceNames)
99
{
10-
if (assemblyName.Contains("Properties")) continue;
11-
var assembly = Assembly.GetExecutingAssembly().GetManifestResourceStream(assemblyName);
12-
string fileName = assemblyName.Replace("Interrupts_8086.Resources.", "");
13-
var file = new FileStream("Embedded_Circuits\\" + fileName, FileMode.Create, FileAccess.Write);
14-
assembly.CopyTo(file);
10+
if (resourceName.Contains("Properties")) continue;
11+
12+
//has to be using! Will not work on some seemingly random files without using!
13+
using (var resource = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName))
14+
{
15+
string fileName = resourceName.Replace("Interrupts_8086.Resources.", "");
16+
using (var file = new FileStream("Embedded_Circuits\\" + fileName, FileMode.Create, FileAccess.Write))
17+
{
18+
resource.CopyTo(file);
19+
}
20+
}
21+
1522
}
1623

1724
Console.Write("Java Version: ");

0 commit comments

Comments
 (0)