diff --git a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET.sln b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET.sln
index 5f580f8911..5a753c25a6 100644
--- a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET.sln
+++ b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET.sln
@@ -9,7 +9,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tests", "Tests\Tests.csproj
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{012FD0FC-6ADA-4E07-A1D8-E74B60F462F7}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Embedded_Resources_in_NET_Satellite", "Embedded_Resources_in_NET_Satellite\Embedded_Resources_in_NET_Satellite.csproj", "{C3E1AC81-3838-49AB-9736-32CFF5A371BB}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Embedded_Resources_in_NET_Library", "Embedded_Resources_in_NET_Library\Embedded_Resources_in_NET_Library.csproj", "{C3E1AC81-3838-49AB-9736-32CFF5A371BB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/Embedded_Resources_in_NET.csproj b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/Embedded_Resources_in_NET.csproj
index 5e42d4a07d..2a64e56c98 100644
--- a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/Embedded_Resources_in_NET.csproj
+++ b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/Embedded_Resources_in_NET.csproj
@@ -2,7 +2,7 @@
Exe
- net8.0
+ net10.0
enable
enable
@@ -11,13 +11,13 @@
+
-
-
+
diff --git a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/Program.cs b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/Program.cs
index 6bef768071..cdcc183592 100644
--- a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/Program.cs
+++ b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/Program.cs
@@ -8,8 +8,8 @@
SampleResourceReader.ListResourcesInAllAssemblies();
WaitForUser();
-Console.WriteLine("\n\nResources in our satellite assembly:\n\n");
-SampleResourceReader.ListResourcesInOurSatelliteAssembly();
+Console.WriteLine("\n\nResources in our referenced assembly:\n\n");
+SampleResourceReader.ListResourcesInReferencedAssembly();
WaitForUser();
Console.WriteLine("\n\nFind resource by name and display it:\n\n");
diff --git a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/SampleResourceReader.cs b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/SampleResourceReader.cs
index f2b3fe3cbe..f9b2a278b9 100644
--- a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/SampleResourceReader.cs
+++ b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/SampleResourceReader.cs
@@ -1,5 +1,4 @@
-using System.ComponentModel.DataAnnotations;
-using System.Diagnostics;
+using System.Diagnostics;
using System.Reflection;
namespace Embedded_Resources_in_NET;
@@ -12,8 +11,8 @@ public static void ListResourcesInThisAssembly()
public static void ListResourcesInAllAssemblies()
=> AllAssembliesOfCurrentAppDomain.ToList().ForEach(ListResourcesInAssembly);
- public static void ListResourcesInOurSatelliteAssembly()
- => ListResourcesInAssembly(SatelliteAssembly);
+ public static void ListResourcesInReferencedAssembly()
+ => ListResourcesInAssembly(ReferencedAssembly);
public static void FindResourceByNameAndDisplayIt(string resourceName)
=> DisplayResource(resourceName, FindResourceByName);
@@ -62,8 +61,8 @@ private static Assembly ThisAssembly
private static Assembly[] AllAssembliesOfCurrentAppDomain
=> AppDomain.CurrentDomain.GetAssemblies();
- private static Assembly SatelliteAssembly =>
- Assembly.Load("Embedded_Resources_in_NET_Satellite");
+ private static Assembly ReferencedAssembly =>
+ Assembly.Load("Embedded_Resources_in_NET_Library");
private static Stream? FindResourceByName(string resourceName)
=> FindResource(names => names?.FirstOrDefault(rn => rn == resourceName));
diff --git a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/my-folder/note.txt b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/my-folder/note.txt
new file mode 100644
index 0000000000..bf962d9558
--- /dev/null
+++ b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/my-folder/note.txt
@@ -0,0 +1 @@
+This note lives in a folder whose name is not a valid identifier.
diff --git a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET_Satellite/Embedded_Resources_in_NET_Satellite.csproj b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET_Library/Embedded_Resources_in_NET_Library.csproj
similarity index 87%
rename from csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET_Satellite/Embedded_Resources_in_NET_Satellite.csproj
rename to csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET_Library/Embedded_Resources_in_NET_Library.csproj
index 49c91377b4..09c2d51387 100644
--- a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET_Satellite/Embedded_Resources_in_NET_Satellite.csproj
+++ b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET_Library/Embedded_Resources_in_NET_Library.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
enable
enable
diff --git a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET_Satellite/Resources/text-file.txt b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET_Library/Resources/text-file.txt
similarity index 100%
rename from csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET_Satellite/Resources/text-file.txt
rename to csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET_Library/Resources/text-file.txt
diff --git a/csharp-intermediate-topics/Embedded_Resources_in_NET/Tests/SampleResourceReaderUnitTests.cs b/csharp-intermediate-topics/Embedded_Resources_in_NET/Tests/SampleResourceReaderUnitTests.cs
index 5c460f82b1..3333cf3b5a 100644
--- a/csharp-intermediate-topics/Embedded_Resources_in_NET/Tests/SampleResourceReaderUnitTests.cs
+++ b/csharp-intermediate-topics/Embedded_Resources_in_NET/Tests/SampleResourceReaderUnitTests.cs
@@ -1,6 +1,4 @@
using Embedded_Resources_in_NET;
-using Microsoft.VisualStudio.TestPlatform.Utilities;
-using System.Reflection;
namespace Tests;
@@ -8,16 +6,25 @@ namespace Tests;
public class SampleResourceReaderTests
{
[TestMethod]
- public void GivenMainAssembly_WhenRunningListResourcesInThisAssembly_ThenExpect8LinesInConsole()
+ public void GivenMainAssembly_WhenRunningListResourcesInThisAssembly_ThenExpect9LinesInConsole()
{
var (content, noLines) = GetConsoleOutput(SampleResourceReader.ListResourcesInThisAssembly);
- var expectedLines = 8;
+ var expectedLines = 9;
var expectedText = "Embedded_Resources_in_NET.Embedded_Resources_in_NET.sln";
Assert.AreEqual(expectedLines, noLines);
StringAssert.Contains(content, expectedText);
}
+ [TestMethod]
+ public void GivenFolderNameThatIsNotAnIdentifier_WhenRunningListResourcesInThisAssembly_ThenExpectMangledName()
+ {
+ var (content, _) = GetConsoleOutput(SampleResourceReader.ListResourcesInThisAssembly);
+ var expectedText = "Embedded_Resources_in_NET.my_folder.note.txt";
+
+ StringAssert.Contains(content, expectedText);
+ }
+
[TestMethod]
public void GivenMainAssembly_WhenRunningListResourcesInAllAssemblies_ThenExpectKnownContent()
{
@@ -30,11 +37,11 @@ public void GivenMainAssembly_WhenRunningListResourcesInAllAssemblies_ThenExpect
}
[TestMethod]
- public void GivenSatelliteAssembly_WhenRunningListResourcesInOurSatelliteAssembly_ThenExpect4LinesInConsole()
+ public void GivenReferencedAssembly_WhenRunningListResourcesInReferencedAssembly_ThenExpect4LinesInConsole()
{
- var (content, noLines) = GetConsoleOutput(SampleResourceReader.ListResourcesInOurSatelliteAssembly);
+ var (content, noLines) = GetConsoleOutput(SampleResourceReader.ListResourcesInReferencedAssembly);
var expectedLines = 4;
- var expectedText = "Embedded_Resources_in_NET_Satellite.Resources.text-file.txt";
+ var expectedText = "Embedded_Resources_in_NET_Library.Resources.text-file.txt";
Assert.AreEqual(expectedLines, noLines);
StringAssert.Contains(content, expectedText);
@@ -59,7 +66,7 @@ public void GivenIncorrectResourceName_WhenRunningFindResourceByNameAndDisplayIt
var expectedText = "";
Assert.AreEqual(expectedLines, noLines);
- Assert.AreEqual(content, expectedText);
+ Assert.AreEqual(expectedText, content);
}
private static (string content, int noLines) GetConsoleOutput(Action action)
diff --git a/csharp-intermediate-topics/Embedded_Resources_in_NET/Tests/Tests.csproj b/csharp-intermediate-topics/Embedded_Resources_in_NET/Tests/Tests.csproj
index 7af1aa96de..840488ab07 100644
--- a/csharp-intermediate-topics/Embedded_Resources_in_NET/Tests/Tests.csproj
+++ b/csharp-intermediate-topics/Embedded_Resources_in_NET/Tests/Tests.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
enable
enable
@@ -10,10 +10,10 @@
-
-
-
-
+
+
+
+