diff --git a/.gitignore b/.gitignore
index 2333e67..6ba95c4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -126,3 +126,5 @@ x86/
bld/
file.json
dataSources.local.xml
+
+.idea/
\ No newline at end of file
diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 0000000..e960a6a
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,35 @@
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ // Use IntelliSense to find out which attributes exist for C# debugging
+ // Use hover for the description of the existing attributes
+ // For further information visit https://github.com/dotnet/vscode-csharp/blob/main/debugger-launchjson.md.
+ "name": ".NET Core Launch (web)",
+ "type": "coreclr",
+ "request": "launch",
+ "preLaunchTask": "build",
+ // If you have changed target frameworks, make sure to update the program path.
+ "program": "${workspaceFolder}/apps/net/Ch6_Web/bin/Debug/net8.0/Ch6_Web.dll",
+ "args": [],
+ "cwd": "${workspaceFolder}/apps/net/Ch6_Web",
+ "stopAtEntry": false,
+ // Enable launching a web browser when ASP.NET Core starts. For more information: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser
+ "serverReadyAction": {
+ "action": "openExternally",
+ "pattern": "\\bNow listening on:\\s+(https?://\\S+)"
+ },
+ "env": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ },
+ "sourceFileMap": {
+ "/Views": "${workspaceFolder}/Views"
+ }
+ },
+ {
+ "name": ".NET Core Attach",
+ "type": "coreclr",
+ "request": "attach"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
new file mode 100644
index 0000000..a151094
--- /dev/null
+++ b/.vscode/tasks.json
@@ -0,0 +1,41 @@
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "build",
+ "command": "dotnet",
+ "type": "process",
+ "args": [
+ "build",
+ "${workspaceFolder}/apps/net/net.sln",
+ "/property:GenerateFullPaths=true",
+ "/consoleloggerparameters:NoSummary;ForceNoAlign"
+ ],
+ "problemMatcher": "$msCompile"
+ },
+ {
+ "label": "publish",
+ "command": "dotnet",
+ "type": "process",
+ "args": [
+ "publish",
+ "${workspaceFolder}/apps/net/net.sln",
+ "/property:GenerateFullPaths=true",
+ "/consoleloggerparameters:NoSummary;ForceNoAlign"
+ ],
+ "problemMatcher": "$msCompile"
+ },
+ {
+ "label": "watch",
+ "command": "dotnet",
+ "type": "process",
+ "args": [
+ "watch",
+ "run",
+ "--project",
+ "${workspaceFolder}/apps/net/net.sln"
+ ],
+ "problemMatcher": "$msCompile"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/apps/net/Ch3_Lang/Ch3_Lang.csproj b/apps/net/Ch3_Lang/Ch3_Lang.csproj
index 5a59ec4..0e3cc8f 100644
--- a/apps/net/Ch3_Lang/Ch3_Lang.csproj
+++ b/apps/net/Ch3_Lang/Ch3_Lang.csproj
@@ -2,12 +2,12 @@
Exe
- netcoreapp2.1
+ net8.0
-
+
diff --git a/apps/net/Ch4_OOP/Ch4_OOP.csproj b/apps/net/Ch4_OOP/Ch4_OOP.csproj
index 898ad85..5670ae8 100644
--- a/apps/net/Ch4_OOP/Ch4_OOP.csproj
+++ b/apps/net/Ch4_OOP/Ch4_OOP.csproj
@@ -2,7 +2,7 @@
Exe
- netcoreapp3.0
+ net8.0
diff --git a/apps/net/Ch5_nuget/Ch5_nuget.csproj b/apps/net/Ch5_nuget/Ch5_nuget.csproj
index ada5ca1..bfcc8a2 100644
--- a/apps/net/Ch5_nuget/Ch5_nuget.csproj
+++ b/apps/net/Ch5_nuget/Ch5_nuget.csproj
@@ -2,7 +2,7 @@
Exe
- netcoreapp3.0
+ net8.0
diff --git a/apps/net/Ch6_Web/Ch6_Web.csproj b/apps/net/Ch6_Web/Ch6_Web.csproj
index bb9ffce..c255d1e 100644
--- a/apps/net/Ch6_Web/Ch6_Web.csproj
+++ b/apps/net/Ch6_Web/Ch6_Web.csproj
@@ -1,7 +1,7 @@
- netcoreapp3.0
+ net8.0
diff --git a/apps/net/Ch7_Db/Ch7_Db.csproj b/apps/net/Ch7_Db/Ch7_Db.csproj
index 01759ca..4bd60f4 100644
--- a/apps/net/Ch7_Db/Ch7_Db.csproj
+++ b/apps/net/Ch7_Db/Ch7_Db.csproj
@@ -1,7 +1,7 @@
- netcoreapp3.0
+ net8.0
@@ -30,7 +30,7 @@
-
-
+
+
diff --git a/apps/net/Ch8_Testing/Ch8_Testing.csproj b/apps/net/Ch8_Testing/Ch8_Testing.csproj
index 9a9abc2..2d55ab6 100644
--- a/apps/net/Ch8_Testing/Ch8_Testing.csproj
+++ b/apps/net/Ch8_Testing/Ch8_Testing.csproj
@@ -1,19 +1,19 @@
- netcoreapp3.0
+ net8.0
false
-
-
-
- runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
all
-
+
diff --git a/apps/net/Ch8_Testing_App/Ch8_Testing_App.csproj b/apps/net/Ch8_Testing_App/Ch8_Testing_App.csproj
index a1ed464..7282f46 100644
--- a/apps/net/Ch8_Testing_App/Ch8_Testing_App.csproj
+++ b/apps/net/Ch8_Testing_App/Ch8_Testing_App.csproj
@@ -2,7 +2,7 @@
Exe
- netcoreapp3.0
+ net8.0
diff --git a/apps/net/Ch9_Async/Ch9_Async.csproj b/apps/net/Ch9_Async/Ch9_Async.csproj
index e091d2b..b89bed3 100644
--- a/apps/net/Ch9_Async/Ch9_Async.csproj
+++ b/apps/net/Ch9_Async/Ch9_Async.csproj
@@ -1,55 +1,14 @@
-
-
-
- Debug
- AnyCPU
- {82E0B15C-BE72-4F3D-97EB-DA3736244FC4}
- Exe
- Ch9_Async
- Ch8_Async
- v4.7.2
- true
-
-
- true
- full
- false
- bin\Debug
- DEBUG;
- prompt
- 4
- true
- MSB3276
-
-
- true
- bin\Release
- prompt
- 4
- true
-
-
-
-
- ..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Extensions.dll
-
-
- ..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Primitives.dll
-
-
-
-
- ..\packages\HtmlAgilityPack.1.11.16\lib\Net45\HtmlAgilityPack.dll
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+ Exe
+ net8.0
+ enable
+ enable
+
+
+
+
+
+
+
diff --git a/apps/net/Ch9_Async/Program.cs b/apps/net/Ch9_Async/Program.cs
index 9719381..a6c4cfe 100644
--- a/apps/net/Ch9_Async/Program.cs
+++ b/apps/net/Ch9_Async/Program.cs
@@ -1,9 +1,5 @@
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
+using System.Diagnostics;
using System.Net;
-using System.Net.Http;
-using System.Threading.Tasks;
using HtmlAgilityPack;
namespace Ch9_Async
diff --git a/apps/net/Ch9_Async/Properties/AssemblyInfo.cs b/apps/net/Ch9_Async/Properties/AssemblyInfo.cs
deleted file mode 100644
index bef6021..0000000
--- a/apps/net/Ch9_Async/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-// Information about this assembly is defined by the following attributes.
-// Change them to the values specific to your project.
-
-[assembly: AssemblyTitle("Ch8_Async")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("PDX Web Properties, LLC")]
-[assembly: AssemblyProduct("")]
-[assembly: AssemblyCopyright("")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
-// The form "{Major}.{Minor}.*" will automatically update the build and revision,
-// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-
-[assembly: AssemblyVersion("1.0.*")]
-
-// The following attributes are used to specify the signing key for the assembly,
-// if desired. See the Mono documentation for more information about signing.
-
-//[assembly: AssemblyDelaySign(false)]
-//[assembly: AssemblyKeyFile("")]
diff --git a/apps/net/Ch9_Async/packages.config b/apps/net/Ch9_Async/packages.config
deleted file mode 100644
index 2ba22b5..0000000
--- a/apps/net/Ch9_Async/packages.config
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/net/net.sln b/apps/net/net.sln
index f42009a..cb22f1d 100644
--- a/apps/net/net.sln
+++ b/apps/net/net.sln
@@ -17,7 +17,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ch8_Testing", "Ch8_Testing\
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ch8_Testing_App", "Ch8_Testing_App\Ch8_Testing_App.csproj", "{DC35108D-5189-4BC2-8303-5B4799B6A625}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ch9_Async", "Ch9_Async\Ch9_Async.csproj", "{82E0B15C-BE72-4F3D-97EB-DA3736244FC4}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ch9_Async", "Ch9_Async\Ch9_Async.csproj", "{F5C28307-BF7E-419E-97FC-26CC76ECFEF7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -53,10 +53,10 @@ Global
{DC35108D-5189-4BC2-8303-5B4799B6A625}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DC35108D-5189-4BC2-8303-5B4799B6A625}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DC35108D-5189-4BC2-8303-5B4799B6A625}.Release|Any CPU.Build.0 = Release|Any CPU
- {82E0B15C-BE72-4F3D-97EB-DA3736244FC4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {82E0B15C-BE72-4F3D-97EB-DA3736244FC4}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {82E0B15C-BE72-4F3D-97EB-DA3736244FC4}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {82E0B15C-BE72-4F3D-97EB-DA3736244FC4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F5C28307-BF7E-419E-97FC-26CC76ECFEF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F5C28307-BF7E-419E-97FC-26CC76ECFEF7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F5C28307-BF7E-419E-97FC-26CC76ECFEF7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F5C28307-BF7E-419E-97FC-26CC76ECFEF7}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/apps/py/ch03_lang/L01_structure.py b/apps/py/ch03_lang/L01_structure.py
index 4e2d546..4acdfcd 100644
--- a/apps/py/ch03_lang/L01_structure.py
+++ b/apps/py/ch03_lang/L01_structure.py
@@ -1,14 +1,14 @@
def main():
- name = input("What is your name? ")
+ name = input('What is your name? ')
some_method(name)
def some_method(name):
if name.strip().lower() == 'michael':
- print("Hello old friend!")
+ print('Hello old friend!')
else:
- print(f"Nice to meet you {name}.")
- print("My name is Python!")
+ print(f'Nice to meet you {name}.')
+ print('My name is Python!')
if __name__ == '__main__':
diff --git a/apps/py/ch03_lang/L02_iteration.py b/apps/py/ch03_lang/L02_iteration.py
index 9c69018..7d410f5 100644
--- a/apps/py/ch03_lang/L02_iteration.py
+++ b/apps/py/ch03_lang/L02_iteration.py
@@ -1,5 +1,5 @@
def main():
- print("Python iteration demo")
+ print('Python iteration demo')
# while True:
# name = input("What is your name? ")
@@ -10,16 +10,16 @@ def main():
nums = [1, 5, 8, 10, 7, 2] # <-- List