diff --git a/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.cs.json b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.cs.json
new file mode 100644
index 000000000000..ce65329efcdf
--- /dev/null
+++ b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.cs.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "Mac Catalyst Class Library",
+ "description": "A project for creating a .NET Mac Catalyst class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.de.json b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.de.json
new file mode 100644
index 000000000000..ce65329efcdf
--- /dev/null
+++ b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.de.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "Mac Catalyst Class Library",
+ "description": "A project for creating a .NET Mac Catalyst class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.en.json b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.en.json
new file mode 100644
index 000000000000..ce65329efcdf
--- /dev/null
+++ b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.en.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "Mac Catalyst Class Library",
+ "description": "A project for creating a .NET Mac Catalyst class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.es.json b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.es.json
new file mode 100644
index 000000000000..ce65329efcdf
--- /dev/null
+++ b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.es.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "Mac Catalyst Class Library",
+ "description": "A project for creating a .NET Mac Catalyst class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.fr.json b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.fr.json
new file mode 100644
index 000000000000..ce65329efcdf
--- /dev/null
+++ b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.fr.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "Mac Catalyst Class Library",
+ "description": "A project for creating a .NET Mac Catalyst class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.it.json b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.it.json
new file mode 100644
index 000000000000..ce65329efcdf
--- /dev/null
+++ b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.it.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "Mac Catalyst Class Library",
+ "description": "A project for creating a .NET Mac Catalyst class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.ja.json b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.ja.json
new file mode 100644
index 000000000000..ce65329efcdf
--- /dev/null
+++ b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.ja.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "Mac Catalyst Class Library",
+ "description": "A project for creating a .NET Mac Catalyst class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.ko.json b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.ko.json
new file mode 100644
index 000000000000..ce65329efcdf
--- /dev/null
+++ b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.ko.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "Mac Catalyst Class Library",
+ "description": "A project for creating a .NET Mac Catalyst class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.pl.json b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.pl.json
new file mode 100644
index 000000000000..ce65329efcdf
--- /dev/null
+++ b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.pl.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "Mac Catalyst Class Library",
+ "description": "A project for creating a .NET Mac Catalyst class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.pt-BR.json b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.pt-BR.json
new file mode 100644
index 000000000000..ce65329efcdf
--- /dev/null
+++ b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.pt-BR.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "Mac Catalyst Class Library",
+ "description": "A project for creating a .NET Mac Catalyst class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.ru.json b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.ru.json
new file mode 100644
index 000000000000..ce65329efcdf
--- /dev/null
+++ b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.ru.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "Mac Catalyst Class Library",
+ "description": "A project for creating a .NET Mac Catalyst class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.tr.json b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.tr.json
new file mode 100644
index 000000000000..ce65329efcdf
--- /dev/null
+++ b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.tr.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "Mac Catalyst Class Library",
+ "description": "A project for creating a .NET Mac Catalyst class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.zh-Hans.json b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.zh-Hans.json
new file mode 100644
index 000000000000..ce65329efcdf
--- /dev/null
+++ b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.zh-Hans.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "Mac Catalyst Class Library",
+ "description": "A project for creating a .NET Mac Catalyst class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.zh-Hant.json b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.zh-Hant.json
new file mode 100644
index 000000000000..ce65329efcdf
--- /dev/null
+++ b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/localize/templatestrings.zh-Hant.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "Mac Catalyst Class Library",
+ "description": "A project for creating a .NET Mac Catalyst class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/template.json b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/template.json
new file mode 100644
index 000000000000..b7beb233325f
--- /dev/null
+++ b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/.template.config/template.json
@@ -0,0 +1,19 @@
+{
+ "$schema": "http://json.schemastore.org/template",
+ "author": "Microsoft",
+ "classifications": [ "macOS", "Mac Catalyst" ],
+ "identity": "Microsoft.MacCatalyst.MacCatalystLib",
+ "name": "Mac Catalyst Class Library",
+ "description": "A project for creating a .NET Mac Catalyst class library",
+ "shortName": "maccatalystlib",
+ "tags": {
+ "language": "C#",
+ "type": "project"
+ },
+ "sourceName": "MacCatalystLib1",
+ "preferNameDirectory": true,
+ "primaryOutputs": [
+ { "path": "MacCatalystLib1.csproj" }
+ ],
+ "defaultName": "MacCatalystLib1"
+}
diff --git a/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/Class1.cs b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/Class1.cs
new file mode 100644
index 000000000000..45707b10d3b4
--- /dev/null
+++ b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/Class1.cs
@@ -0,0 +1,4 @@
+namespace MacCatalystLib1;
+
+public class Class1 {
+}
diff --git a/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/MacCatalystLib1.csproj b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/MacCatalystLib1.csproj
new file mode 100644
index 000000000000..34fa9043d2b0
--- /dev/null
+++ b/dotnet/Templates/Microsoft.MacCatalyst.Templates/maccatalystlib/MacCatalystLib1.csproj
@@ -0,0 +1,8 @@
+
+
+ net6.0-maccatalyst
+ MacCatalystLib1
+ enable
+ true
+
+
diff --git a/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.cs.json b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.cs.json
new file mode 100644
index 000000000000..f041e0fc3bee
--- /dev/null
+++ b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.cs.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "macOS Class Library",
+ "description": "A project for creating a .NET macOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.de.json b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.de.json
new file mode 100644
index 000000000000..f041e0fc3bee
--- /dev/null
+++ b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.de.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "macOS Class Library",
+ "description": "A project for creating a .NET macOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.en.json b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.en.json
new file mode 100644
index 000000000000..f041e0fc3bee
--- /dev/null
+++ b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.en.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "macOS Class Library",
+ "description": "A project for creating a .NET macOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.es.json b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.es.json
new file mode 100644
index 000000000000..f041e0fc3bee
--- /dev/null
+++ b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.es.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "macOS Class Library",
+ "description": "A project for creating a .NET macOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.fr.json b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.fr.json
new file mode 100644
index 000000000000..f041e0fc3bee
--- /dev/null
+++ b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.fr.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "macOS Class Library",
+ "description": "A project for creating a .NET macOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.it.json b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.it.json
new file mode 100644
index 000000000000..f041e0fc3bee
--- /dev/null
+++ b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.it.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "macOS Class Library",
+ "description": "A project for creating a .NET macOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.ja.json b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.ja.json
new file mode 100644
index 000000000000..f041e0fc3bee
--- /dev/null
+++ b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.ja.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "macOS Class Library",
+ "description": "A project for creating a .NET macOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.ko.json b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.ko.json
new file mode 100644
index 000000000000..f041e0fc3bee
--- /dev/null
+++ b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.ko.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "macOS Class Library",
+ "description": "A project for creating a .NET macOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.pl.json b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.pl.json
new file mode 100644
index 000000000000..f041e0fc3bee
--- /dev/null
+++ b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.pl.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "macOS Class Library",
+ "description": "A project for creating a .NET macOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.pt-BR.json b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.pt-BR.json
new file mode 100644
index 000000000000..f041e0fc3bee
--- /dev/null
+++ b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.pt-BR.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "macOS Class Library",
+ "description": "A project for creating a .NET macOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.ru.json b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.ru.json
new file mode 100644
index 000000000000..f041e0fc3bee
--- /dev/null
+++ b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.ru.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "macOS Class Library",
+ "description": "A project for creating a .NET macOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.tr.json b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.tr.json
new file mode 100644
index 000000000000..f041e0fc3bee
--- /dev/null
+++ b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.tr.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "macOS Class Library",
+ "description": "A project for creating a .NET macOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.zh-Hans.json b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.zh-Hans.json
new file mode 100644
index 000000000000..f041e0fc3bee
--- /dev/null
+++ b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.zh-Hans.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "macOS Class Library",
+ "description": "A project for creating a .NET macOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.zh-Hant.json b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.zh-Hant.json
new file mode 100644
index 000000000000..f041e0fc3bee
--- /dev/null
+++ b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/localize/templatestrings.zh-Hant.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "macOS Class Library",
+ "description": "A project for creating a .NET macOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/template.json b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/template.json
new file mode 100644
index 000000000000..6f3d6c66b0f8
--- /dev/null
+++ b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/.template.config/template.json
@@ -0,0 +1,19 @@
+{
+ "$schema": "http://json.schemastore.org/template",
+ "author": "Microsoft",
+ "classifications": [ "macOS" ],
+ "identity": "Microsoft.macOS.macOSLib",
+ "name": "macOS Class Library",
+ "description": "A project for creating a .NET macOS class library",
+ "shortName": "macoslib",
+ "tags": {
+ "language": "C#",
+ "type": "project"
+ },
+ "sourceName": "macOSLib1",
+ "preferNameDirectory": true,
+ "primaryOutputs": [
+ { "path": "macOSLib1.csproj" }
+ ],
+ "defaultName": "macOSLib1"
+}
diff --git a/dotnet/Templates/Microsoft.macOS.Templates/macoslib/Class1.cs b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/Class1.cs
new file mode 100644
index 000000000000..61ac0124cb09
--- /dev/null
+++ b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/Class1.cs
@@ -0,0 +1,4 @@
+namespace macOSLib1;
+
+public class Class1 {
+}
diff --git a/dotnet/Templates/Microsoft.macOS.Templates/macoslib/macOSLib1.csproj b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/macOSLib1.csproj
new file mode 100644
index 000000000000..e32bc817ec2e
--- /dev/null
+++ b/dotnet/Templates/Microsoft.macOS.Templates/macoslib/macOSLib1.csproj
@@ -0,0 +1,8 @@
+
+
+ net6.0-macos
+ macOSLib1
+ enable
+ true
+
+
diff --git a/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.cs.json b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.cs.json
new file mode 100644
index 000000000000..4c490521ff90
--- /dev/null
+++ b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.cs.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "tvOS Class Library",
+ "description": "A project for creating a .NET tvOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.de.json b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.de.json
new file mode 100644
index 000000000000..4c490521ff90
--- /dev/null
+++ b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.de.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "tvOS Class Library",
+ "description": "A project for creating a .NET tvOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.en.json b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.en.json
new file mode 100644
index 000000000000..4c490521ff90
--- /dev/null
+++ b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.en.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "tvOS Class Library",
+ "description": "A project for creating a .NET tvOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.es.json b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.es.json
new file mode 100644
index 000000000000..4c490521ff90
--- /dev/null
+++ b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.es.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "tvOS Class Library",
+ "description": "A project for creating a .NET tvOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.fr.json b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.fr.json
new file mode 100644
index 000000000000..4c490521ff90
--- /dev/null
+++ b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.fr.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "tvOS Class Library",
+ "description": "A project for creating a .NET tvOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.it.json b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.it.json
new file mode 100644
index 000000000000..4c490521ff90
--- /dev/null
+++ b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.it.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "tvOS Class Library",
+ "description": "A project for creating a .NET tvOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.ja.json b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.ja.json
new file mode 100644
index 000000000000..4c490521ff90
--- /dev/null
+++ b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.ja.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "tvOS Class Library",
+ "description": "A project for creating a .NET tvOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.ko.json b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.ko.json
new file mode 100644
index 000000000000..4c490521ff90
--- /dev/null
+++ b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.ko.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "tvOS Class Library",
+ "description": "A project for creating a .NET tvOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.pl.json b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.pl.json
new file mode 100644
index 000000000000..4c490521ff90
--- /dev/null
+++ b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.pl.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "tvOS Class Library",
+ "description": "A project for creating a .NET tvOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.pt-BR.json b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.pt-BR.json
new file mode 100644
index 000000000000..4c490521ff90
--- /dev/null
+++ b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.pt-BR.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "tvOS Class Library",
+ "description": "A project for creating a .NET tvOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.ru.json b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.ru.json
new file mode 100644
index 000000000000..4c490521ff90
--- /dev/null
+++ b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.ru.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "tvOS Class Library",
+ "description": "A project for creating a .NET tvOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.tr.json b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.tr.json
new file mode 100644
index 000000000000..4c490521ff90
--- /dev/null
+++ b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.tr.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "tvOS Class Library",
+ "description": "A project for creating a .NET tvOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.zh-Hans.json b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.zh-Hans.json
new file mode 100644
index 000000000000..4c490521ff90
--- /dev/null
+++ b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.zh-Hans.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "tvOS Class Library",
+ "description": "A project for creating a .NET tvOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.zh-Hant.json b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.zh-Hant.json
new file mode 100644
index 000000000000..4c490521ff90
--- /dev/null
+++ b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/localize/templatestrings.zh-Hant.json
@@ -0,0 +1,5 @@
+{
+ "author": "Microsoft",
+ "name": "tvOS Class Library",
+ "description": "A project for creating a .NET tvOS class library"
+}
\ No newline at end of file
diff --git a/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/template.json b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/template.json
new file mode 100644
index 000000000000..a80775f03f45
--- /dev/null
+++ b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/.template.config/template.json
@@ -0,0 +1,19 @@
+{
+ "$schema": "http://json.schemastore.org/template",
+ "author": "Microsoft",
+ "classifications": [ "tvOS", "Mobile" ],
+ "identity": "Microsoft.tvOS.tvOSLib",
+ "name": "tvOS Class Library",
+ "description": "A project for creating a .NET tvOS class library",
+ "shortName": "tvoslib",
+ "tags": {
+ "language": "C#",
+ "type": "project"
+ },
+ "sourceName": "tvOSLib1",
+ "preferNameDirectory": true,
+ "primaryOutputs": [
+ { "path": "tvOSLib1.csproj" }
+ ],
+ "defaultName": "tvOSLib1"
+}
diff --git a/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/Class1.cs b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/Class1.cs
new file mode 100644
index 000000000000..07222b330f80
--- /dev/null
+++ b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/Class1.cs
@@ -0,0 +1,4 @@
+namespace tvOSLib1;
+
+public class Class1 {
+}
diff --git a/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/tvOSLib1.csproj b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/tvOSLib1.csproj
new file mode 100644
index 000000000000..b85214a0b579
--- /dev/null
+++ b/dotnet/Templates/Microsoft.tvOS.Templates/tvoslib/tvOSLib1.csproj
@@ -0,0 +1,8 @@
+
+
+ net6.0-tvos
+ tvOSLib1
+ enable
+ true
+
+
diff --git a/tests/dotnet/UnitTests/TemplateTest.cs b/tests/dotnet/UnitTests/TemplateTest.cs
index 4991b1f1f193..742feef606cc 100644
--- a/tests/dotnet/UnitTests/TemplateTest.cs
+++ b/tests/dotnet/UnitTests/TemplateTest.cs
@@ -7,14 +7,12 @@ public class TemplateTest : TestBaseClass {
public struct TemplateInfo {
public readonly ApplePlatform Platform;
public readonly string Template;
- public readonly bool ValidateSuccessfulBuild;
public readonly bool Execute;
- public TemplateInfo (ApplePlatform platform, string template, bool validateSuccessfulBuild = true, bool execute = false)
+ public TemplateInfo (ApplePlatform platform, string template, bool execute = false)
{
Platform = platform;
Template = template;
- ValidateSuccessfulBuild = validateSuccessfulBuild;
Execute = execute;
}
}
@@ -24,11 +22,17 @@ public TemplateInfo (ApplePlatform platform, string template, bool validateSucce
new TemplateInfo (ApplePlatform.iOS, "ios-tabbed"),
new TemplateInfo (ApplePlatform.iOS, "ioslib"),
new TemplateInfo (ApplePlatform.iOS, "iosbinding"),
+
new TemplateInfo (ApplePlatform.TVOS, "tvos"),
+ new TemplateInfo (ApplePlatform.TVOS, "tvoslib"),
new TemplateInfo (ApplePlatform.TVOS, "tvosbinding"),
+
new TemplateInfo (ApplePlatform.MacCatalyst, "maccatalyst", execute: true),
+ new TemplateInfo (ApplePlatform.MacCatalyst, "maccatalystlib"),
new TemplateInfo (ApplePlatform.MacCatalyst, "maccatalystbinding"),
+
new TemplateInfo (ApplePlatform.MacOSX, "macos", execute: true),
+ new TemplateInfo (ApplePlatform.MacOSX, "macoslib"),
new TemplateInfo (ApplePlatform.MacOSX, "macosbinding"),
};
@@ -76,12 +80,8 @@ public void AreAllTemplatesListed ()
[Test]
[TestCaseSource (nameof (Templates))]
- public void CreateAndBuildTemplate (TemplateInfo info)
+ public void CreateAndBuildProjectTemplate (TemplateInfo info)
{
- if (!info.ValidateSuccessfulBuild) {
- return;
- }
-
Configuration.IgnoreIfIgnoredPlatform (info.Platform);
var tmpDir = Cache.CreateTemporaryDirectory ();
var outputDir = Path.Combine (tmpDir, info.Template);