diff --git a/.appveyor.yml b/.appveyor.yml
index dd76f2f348..ec07dbe296 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -8,9 +8,10 @@ branches:
- release
- dev
- /^rel\/.*/
+ - /^release\/.*/
- /^(.*\/)?ci-.*$/
build_script:
- - ps: .\build.ps1
+ - ps: .\build.cmd
clone_depth: 1
environment:
global:
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000000..b469a7b0d4
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,28 @@
+language: csharp
+sudo: required
+dist: trusty
+env:
+ global:
+ - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
+ - DOTNET_CLI_TELEMETRY_OPTOUT: 1
+addons:
+ apt:
+ packages:
+ - libunwind8
+mono: none
+os:
+ - linux
+ - osx
+osx_image: xcode8.2
+branches:
+ only:
+ - master
+ - release
+ - dev
+ - /^rel\/.*$/
+ - /^release\/.*$/
+ - /^(.*\/)?ci-.*$/
+before_install:
+ - if test "$TRAVIS_OS_NAME" == "osx"; then brew update; brew install openssl; ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/; ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/; fi
+script:
+ - ./build.sh
diff --git a/src/Microsoft.AspNetCore.SpaTemplates/content/Aurelia-CSharp/.template.config/template.json b/src/Microsoft.AspNetCore.SpaTemplates/content/Aurelia-CSharp/.template.config/template.json
index d6f128e26a..485b16c055 100644
--- a/src/Microsoft.AspNetCore.SpaTemplates/content/Aurelia-CSharp/.template.config/template.json
+++ b/src/Microsoft.AspNetCore.SpaTemplates/content/Aurelia-CSharp/.template.config/template.json
@@ -22,6 +22,14 @@
"target": "./",
"exclude": [
".template.config/**"
+ ],
+ "modifiers": [
+ {
+ "condition": "(TargetFrameworkOverride == '')",
+ "exclude": [
+ "app.config"
+ ]
+ }
]
}
],
diff --git a/src/Microsoft.AspNetCore.SpaTemplates/content/Aurelia-CSharp/app.config b/src/Microsoft.AspNetCore.SpaTemplates/content/Aurelia-CSharp/app.config
new file mode 100644
index 0000000000..a6ad828311
--- /dev/null
+++ b/src/Microsoft.AspNetCore.SpaTemplates/content/Aurelia-CSharp/app.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.AspNetCore.SpaTemplates/content/Knockout-CSharp/.template.config/template.json b/src/Microsoft.AspNetCore.SpaTemplates/content/Knockout-CSharp/.template.config/template.json
index ef80d53bf9..c1b6522b39 100644
--- a/src/Microsoft.AspNetCore.SpaTemplates/content/Knockout-CSharp/.template.config/template.json
+++ b/src/Microsoft.AspNetCore.SpaTemplates/content/Knockout-CSharp/.template.config/template.json
@@ -22,6 +22,14 @@
"target": "./",
"exclude": [
".template.config/**"
+ ],
+ "modifiers": [
+ {
+ "condition": "(TargetFrameworkOverride == '')",
+ "exclude": [
+ "app.config"
+ ]
+ }
]
}
],
diff --git a/src/Microsoft.AspNetCore.SpaTemplates/content/Knockout-CSharp/app.config b/src/Microsoft.AspNetCore.SpaTemplates/content/Knockout-CSharp/app.config
new file mode 100644
index 0000000000..a6ad828311
--- /dev/null
+++ b/src/Microsoft.AspNetCore.SpaTemplates/content/Knockout-CSharp/app.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.AspNetCore.SpaTemplates/content/Vue-CSharp/.template.config/template.json b/src/Microsoft.AspNetCore.SpaTemplates/content/Vue-CSharp/.template.config/template.json
index 727ae230f8..4c8f666b99 100644
--- a/src/Microsoft.AspNetCore.SpaTemplates/content/Vue-CSharp/.template.config/template.json
+++ b/src/Microsoft.AspNetCore.SpaTemplates/content/Vue-CSharp/.template.config/template.json
@@ -22,6 +22,14 @@
"target": "./",
"exclude": [
".template.config/**"
+ ],
+ "modifiers": [
+ {
+ "condition": "(TargetFrameworkOverride == '')",
+ "exclude": [
+ "app.config"
+ ]
+ }
]
}
],
diff --git a/src/Microsoft.AspNetCore.SpaTemplates/content/Vue-CSharp/app.config b/src/Microsoft.AspNetCore.SpaTemplates/content/Vue-CSharp/app.config
new file mode 100644
index 0000000000..a6ad828311
--- /dev/null
+++ b/src/Microsoft.AspNetCore.SpaTemplates/content/Vue-CSharp/app.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/EmptyWeb-FSharp.fsproj.in b/src/Microsoft.DotNet.Web.ProjectTemplates/EmptyWeb-FSharp.fsproj.in
index c53237d89d..ec5a443a10 100644
--- a/src/Microsoft.DotNet.Web.ProjectTemplates/EmptyWeb-FSharp.fsproj.in
+++ b/src/Microsoft.DotNet.Web.ProjectTemplates/EmptyWeb-FSharp.fsproj.in
@@ -10,8 +10,12 @@
-
+
+
+
+
+
diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/template.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/template.json
index 8440e08c61..bf1333dc1c 100644
--- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/template.json
+++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/template.json
@@ -25,6 +25,12 @@
"sources": [
{
"modifiers": [
+ {
+ "condition": "(TargetFrameworkOverride == '')",
+ "exclude": [
+ "app.config"
+ ]
+ },
{
"condition": "(!IncludeLaunchSettings)",
"exclude": [
diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-CSharp/app.config b/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-CSharp/app.config
new file mode 100644
index 0000000000..a6ad828311
--- /dev/null
+++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-CSharp/app.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/template.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/template.json
index 7acb09bccf..49ccf0ac09 100644
--- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/template.json
+++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/template.json
@@ -18,6 +18,18 @@
},
"sourceName": "Company.WebApplication1",
"preferNameDirectory": true,
+ "sources": [
+ {
+ "modifiers": [
+ {
+ "condition": "(TargetFrameworkOverride == '')",
+ "exclude": [
+ "app.config"
+ ]
+ }
+ ]
+ }
+ ],
"symbols": {
"TargetFrameworkOverride": {
"type": "parameter",
diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-FSharp/app.config b/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-FSharp/app.config
new file mode 100644
index 0000000000..a6ad828311
--- /dev/null
+++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-FSharp/app.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/template.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/template.json
index 23f2da2c2b..39c1839b22 100644
--- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/template.json
+++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/template.json
@@ -27,6 +27,12 @@
"sources": [
{
"modifiers": [
+ {
+ "condition": "(TargetFrameworkOverride == '')",
+ "exclude": [
+ "app.config"
+ ]
+ },
{
"condition": "(!IndividualAuth && !OrganizationalAuth)",
"exclude": [
diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/app.config b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/app.config
new file mode 100644
index 0000000000..a6ad828311
--- /dev/null
+++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/app.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/template.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/template.json
index 1b39b165d6..98935e27a9 100644
--- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/template.json
+++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/template.json
@@ -26,6 +26,12 @@
"sources": [
{
"modifiers": [
+ {
+ "condition": "(TargetFrameworkOverride == '')",
+ "exclude": [
+ "app.config"
+ ]
+ },
{
"condition": "(!IndividualAuth && !OrganizationalAuth)",
"exclude": [
diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/app.config b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/app.config
new file mode 100644
index 0000000000..a6ad828311
--- /dev/null
+++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/app.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-FSharp/.template.config/template.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-FSharp/.template.config/template.json
index ea0c822105..a9b0b4a397 100644
--- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-FSharp/.template.config/template.json
+++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-FSharp/.template.config/template.json
@@ -19,6 +19,18 @@
},
"sourceName": "Company.WebApplication1",
"preferNameDirectory": true,
+ "sources": [
+ {
+ "modifiers": [
+ {
+ "condition": "(TargetFrameworkOverride == '')",
+ "exclude": [
+ "app.config"
+ ]
+ }
+ ]
+ }
+ ],
"symbols": {
"TargetFrameworkOverride": {
"type": "parameter",
diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-FSharp/app.config b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-FSharp/app.config
new file mode 100644
index 0000000000..a6ad828311
--- /dev/null
+++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-FSharp/app.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-CSharp/.template.config/template.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-CSharp/.template.config/template.json
index becd788417..31c858810e 100644
--- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-CSharp/.template.config/template.json
+++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-CSharp/.template.config/template.json
@@ -26,6 +26,12 @@
"sources": [
{
"modifiers": [
+ {
+ "condition": "(TargetFrameworkOverride == '')",
+ "exclude": [
+ "app.config"
+ ]
+ },
{
"condition": "(windir == 'C:\\Windows')",
"exclude": [
diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-CSharp/app.config b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-CSharp/app.config
new file mode 100644
index 0000000000..a6ad828311
--- /dev/null
+++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-CSharp/app.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-FSharp/.template.config/template.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-FSharp/.template.config/template.json
index 61f05b5f09..d19fb0dda1 100644
--- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-FSharp/.template.config/template.json
+++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-FSharp/.template.config/template.json
@@ -18,6 +18,18 @@
},
"sourceName": "Company.WebApplication1",
"preferNameDirectory": true,
+ "sources": [
+ {
+ "modifiers": [
+ {
+ "condition": "(TargetFrameworkOverride == '')",
+ "exclude": [
+ "app.config"
+ ]
+ }
+ ]
+ }
+ ],
"symbols": {
"TargetFrameworkOverride": {
"type": "parameter",
diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-FSharp/app.config b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-FSharp/app.config
new file mode 100644
index 0000000000..a6ad828311
--- /dev/null
+++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-FSharp/app.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/Angular-CSharp/.template.config/template.json b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/Angular-CSharp/.template.config/template.json
index e6e58992d0..0db9a9082d 100644
--- a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/Angular-CSharp/.template.config/template.json
+++ b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/Angular-CSharp/.template.config/template.json
@@ -22,6 +22,14 @@
"target": "./",
"exclude": [
".template.config/**"
+ ],
+ "modifiers": [
+ {
+ "condition": "(TargetFrameworkOverride == '')",
+ "exclude": [
+ "app.config"
+ ]
+ }
]
}
],
diff --git a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/Angular-CSharp/app.config b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/Angular-CSharp/app.config
new file mode 100644
index 0000000000..a6ad828311
--- /dev/null
+++ b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/Angular-CSharp/app.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/React-CSharp/.template.config/template.json b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/React-CSharp/.template.config/template.json
index a62f9300d3..4ccba5cb5e 100644
--- a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/React-CSharp/.template.config/template.json
+++ b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/React-CSharp/.template.config/template.json
@@ -22,6 +22,14 @@
"target": "./",
"exclude": [
".template.config/**"
+ ],
+ "modifiers": [
+ {
+ "condition": "(TargetFrameworkOverride == '')",
+ "exclude": [
+ "app.config"
+ ]
+ }
]
}
],
diff --git a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/React-CSharp/app.config b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/React-CSharp/app.config
new file mode 100644
index 0000000000..a6ad828311
--- /dev/null
+++ b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/React-CSharp/app.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/.template.config/template.json b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/.template.config/template.json
index 38418e8db8..93a30a1fbe 100644
--- a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/.template.config/template.json
+++ b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/.template.config/template.json
@@ -22,6 +22,14 @@
"target": "./",
"exclude": [
".template.config/**"
+ ],
+ "modifiers": [
+ {
+ "condition": "(TargetFrameworkOverride == '')",
+ "exclude": [
+ "app.config"
+ ]
+ }
]
}
],
diff --git a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/app.config b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/app.config
new file mode 100644
index 0000000000..a6ad828311
--- /dev/null
+++ b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/app.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/test/Templates.Test/EmptyWebTemplateTest.cs b/test/Templates.Test/EmptyWebTemplateTest.cs
index 33f63f5eca..08873b6362 100644
--- a/test/Templates.Test/EmptyWebTemplateTest.cs
+++ b/test/Templates.Test/EmptyWebTemplateTest.cs
@@ -14,7 +14,8 @@ namespace Templates.Test
}
[ConditionalFact]
- [OSSkipCondition(OperatingSystems.Linux | OperatingSystems.MacOSX)]
+ [OSSkipCondition(OperatingSystems.Linux)]
+ [OSSkipCondition(OperatingSystems.MacOSX)]
public void EmptyWebTemplate_Works_NetFramework()
=> EmptyWebTemplateImpl("net461");
diff --git a/test/Templates.Test/MvcTemplateTest.cs b/test/Templates.Test/MvcTemplateTest.cs
index 463b6b78e7..1c61dbf33a 100644
--- a/test/Templates.Test/MvcTemplateTest.cs
+++ b/test/Templates.Test/MvcTemplateTest.cs
@@ -14,7 +14,8 @@ namespace Templates.Test
}
[ConditionalTheory]
- [OSSkipCondition(OperatingSystems.Linux | OperatingSystems.MacOSX)]
+ [OSSkipCondition(OperatingSystems.Linux)]
+ [OSSkipCondition(OperatingSystems.MacOSX)]
[InlineData(null)]
[InlineData("F#")]
public void MvcTemplate_NoAuth_Works_NetFramework(string languageOverride)
@@ -55,7 +56,8 @@ namespace Templates.Test
}
[ConditionalFact]
- [OSSkipCondition(OperatingSystems.Linux | OperatingSystems.MacOSX)]
+ [OSSkipCondition(OperatingSystems.Linux)]
+ [OSSkipCondition(OperatingSystems.MacOSX)]
public void MvcTemplate_IndividualAuth_Works_NetFramework()
=> MvcTemplate_IndividualAuthImpl("net461");
diff --git a/test/Templates.Test/RazorPagesTemplateTest.cs b/test/Templates.Test/RazorPagesTemplateTest.cs
index 7d7ef64873..a610a6d3d9 100644
--- a/test/Templates.Test/RazorPagesTemplateTest.cs
+++ b/test/Templates.Test/RazorPagesTemplateTest.cs
@@ -14,7 +14,8 @@ namespace Templates.Test
}
[ConditionalFact]
- [OSSkipCondition(OperatingSystems.Linux | OperatingSystems.MacOSX)]
+ [OSSkipCondition(OperatingSystems.Linux)]
+ [OSSkipCondition(OperatingSystems.MacOSX)]
public void RazorPagesTemplate_NoAuth_Works_NetFramework()
=> RazorPagesTemplate_NoAuthImpl("net461");
@@ -48,7 +49,8 @@ namespace Templates.Test
}
[ConditionalFact]
- [OSSkipCondition(OperatingSystems.Linux | OperatingSystems.MacOSX)]
+ [OSSkipCondition(OperatingSystems.Linux)]
+ [OSSkipCondition(OperatingSystems.MacOSX)]
public void RazorPagesTemplate_IndividualAuth_Works_NetFramework()
=> RazorPagesTemplate_IndividualAuthImpl("net461");
diff --git a/test/Templates.Test/SpaTemplateTest.cs b/test/Templates.Test/SpaTemplateTest.cs
index 44efcf9423..0af63f0255 100644
--- a/test/Templates.Test/SpaTemplateTest.cs
+++ b/test/Templates.Test/SpaTemplateTest.cs
@@ -16,7 +16,8 @@ namespace Templates.Test
}
[ConditionalTheory]
- [OSSkipCondition(OperatingSystems.Linux | OperatingSystems.MacOSX)]
+ [OSSkipCondition(OperatingSystems.Linux)]
+ [OSSkipCondition(OperatingSystems.MacOSX)]
// Just use 'angular' as representative for .NET 4.6.1 coverage, as
// the client-side code isn't affected by the .NET runtime choice
[InlineData("angular")]
diff --git a/test/Templates.Test/WebApiTemplateTest.cs b/test/Templates.Test/WebApiTemplateTest.cs
index 75d18ba780..b686fc718c 100644
--- a/test/Templates.Test/WebApiTemplateTest.cs
+++ b/test/Templates.Test/WebApiTemplateTest.cs
@@ -14,7 +14,8 @@ namespace Templates.Test
}
[ConditionalFact]
- [OSSkipCondition(OperatingSystems.Linux | OperatingSystems.MacOSX)]
+ [OSSkipCondition(OperatingSystems.Linux)]
+ [OSSkipCondition(OperatingSystems.MacOSX)]
public void WebApiTemplate_Works_NetFramework()
=> WebApiTemplateImpl("net461");