Compare commits

...

12 Commits

  1. 2
      Directory.Build.props
  2. 2
      eng/common/dotnet-install.sh
  3. 2
      eng/common/tools.ps1
  4. 2
      eng/common/tools.sh
  5. 6
      global.json
  6. 3
      src/Microsoft.Tye.Core/ConfigModel/ConfigApplication.cs
  7. 2
      src/Microsoft.Tye.Core/Microsoft.Tye.Core.csproj
  8. 2
      src/Microsoft.Tye.Extensions/Microsoft.Tye.Extensions.csproj
  9. 2
      src/Microsoft.Tye.Hosting.Diagnostics/Microsoft.Tye.Hosting.Diagnostics.csproj
  10. 2
      src/Microsoft.Tye.Hosting/DockerRunner.cs
  11. 3
      src/Microsoft.Tye.Hosting/HttpProxyService.cs
  12. 6
      src/Microsoft.Tye.Hosting/Infrastructure/ProxyExtensions.cs
  13. 18
      src/Microsoft.Tye.Hosting/Infrastructure/ServiceLoggerProvider.cs
  14. 2
      src/Microsoft.Tye.Hosting/Microsoft.Tye.Hosting.csproj
  15. 12
      src/Microsoft.Tye.Hosting/ProxyService.cs
  16. 4
      src/Microsoft.Tye.Hosting/TransformProjectsIntoContainers.cs
  17. 7
      src/Microsoft.Tye.Hosting/TyeHost.cs
  18. 2
      src/Microsoft.Tye.Proxy/Microsoft.Tye.Proxy.csproj
  19. 14
      src/Microsoft.Tye.Proxy/Program.cs
  20. 5
      src/shared/KubectlDetector.cs
  21. 2
      src/tye-diag-agent/tye-diag-agent.csproj
  22. 3
      src/tye/InitHost.cs
  23. 2
      src/tye/tye.csproj
  24. 6
      test/E2ETest/ApplicationFactoryTests.cs
  25. 2
      test/E2ETest/Microsoft.Tye.E2ETests.csproj
  26. 4
      test/E2ETest/TyeBuildTests.Dockerfile.cs
  27. 5
      test/E2ETest/TyeRunTests.cs
  28. 2
      test/E2ETest/testassets/projects/Console.Normalization.svc.Name/Console.Normalization.svc.Name.csproj
  29. 2
      test/E2ETest/testassets/projects/apps-with-ingress/ApplicationA/ApplicationA.csproj
  30. 2
      test/E2ETest/testassets/projects/apps-with-ingress/ApplicationB/ApplicationB.csproj
  31. 2
      test/E2ETest/testassets/projects/apps-with-ingress/ApplicationC-UI/ApplicationC-UI.csproj
  32. 2
      test/E2ETest/testassets/projects/azure-functions/backend/backend.csproj
  33. 2
      test/E2ETest/testassets/projects/azure-functions/frontend/frontend.csproj
  34. 2
      test/E2ETest/testassets/projects/dapr/dapr.csproj
  35. 2
      test/E2ETest/testassets/projects/dockerfile/frontend/frontend.csproj
  36. 2
      test/E2ETest/testassets/projects/frontend-backend/backend/backend-baseimage.csproj
  37. 2
      test/E2ETest/testassets/projects/frontend-backend/backend/backend.csproj
  38. 2
      test/E2ETest/testassets/projects/frontend-backend/frontend/frontend.csproj
  39. 2
      test/E2ETest/testassets/projects/generate-connectionstring-dependency/frontend/frontend.csproj
  40. 2
      test/E2ETest/testassets/projects/generate-named-binding/frontend/frontend.csproj
  41. 2
      test/E2ETest/testassets/projects/generate-uri-dependency/frontend/frontend.csproj
  42. 2
      test/E2ETest/testassets/projects/health-checks/api/api.csproj
  43. 2
      test/E2ETest/testassets/projects/multi-phase-dockerfile/multi-phase-dockerfile.csproj
  44. 2
      test/E2ETest/testassets/projects/multi-project/backend/backend.csproj
  45. 2
      test/E2ETest/testassets/projects/multi-project/frontend/frontend.csproj
  46. 2
      test/E2ETest/testassets/projects/multi-project/worker/worker.csproj
  47. 2
      test/E2ETest/testassets/projects/multi-targetframeworks/multi-targetframeworks/multi-targetframeworks.csproj
  48. 2
      test/E2ETest/testassets/projects/multi-targetframeworks/tye-with-netcoreapp31.yaml
  49. 2
      test/E2ETest/testassets/projects/multirepo/results/results.csproj
  50. 2
      test/E2ETest/testassets/projects/multirepo/vote/vote.csproj
  51. 2
      test/E2ETest/testassets/projects/multirepo/worker/worker.csproj
  52. 2
      test/E2ETest/testassets/projects/nginx-ingress/ApplicationA/ApplicationA.csproj
  53. 2
      test/E2ETest/testassets/projects/nginx-ingress/ApplicationB/ApplicationB.csproj
  54. 2
      test/E2ETest/testassets/projects/project-types/app/app.csproj
  55. 2
      test/E2ETest/testassets/projects/project-types/class-library/class-library.csproj
  56. 2
      test/E2ETest/testassets/projects/project-types/test-project/test-project.csproj
  57. 2
      test/E2ETest/testassets/projects/single-phase-dockerfile-args-duplicates/single-phase-dockerfile-args.csproj
  58. 2
      test/E2ETest/testassets/projects/single-phase-dockerfile-args/single-phase-dockerfile-args.csproj
  59. 2
      test/E2ETest/testassets/projects/single-phase-dockerfile-multi-args/single-phase-dockerfile-multi-args.csproj
  60. 2
      test/E2ETest/testassets/projects/single-phase-dockerfile/single-phase-dockerfile.csproj
  61. 2
      test/E2ETest/testassets/projects/single-project/test-project/test-project.csproj
  62. 2
      test/E2ETest/testassets/projects/volume-test/volume-test.csproj
  63. 2
      test/E2ETest/testassets/projects/web-app/web-app.csproj
  64. 2
      test/Microsoft.Tye.Extensions.Configuration.Tests/Microsoft.Tye.Extensions.Configuration.Tests.csproj
  65. 2
      test/Test.Infrastructure/Test.Infrastructure.csproj
  66. 2
      test/UnitTests/Microsoft.Tye.UnitTests.csproj

2
Directory.Build.props

@ -20,7 +20,7 @@
<!-- Lots of our dependencies are not strong-named -->
<NoWarn>$(NoWarn);8002</NoWarn>
<Nullable>enable</Nullable>
<LangVersion>8.0</LangVersion>
<LangVersion>10.0</LangVersion>
</PropertyGroup>
<Import Project="$(RepoRoot)test\Test.Infrastructure\Microsoft.AspNetCore.Testing.props" Condition=" '$(IsTestProject)' == 'true' " />

2
eng/common/dotnet-install.sh

@ -52,7 +52,7 @@ done
# Use uname to determine what the CPU is, see https://en.wikipedia.org/wiki/Uname#Examples
cpuname=$(uname -m)
case $cpuname in
aarch64)
aarch64|arm64)
buildarch=arm64
;;
amd64|x86_64)

2
eng/common/tools.ps1

@ -560,7 +560,7 @@ function InitializeBuildTool() {
ExitWithExitCode 1
}
$dotnetPath = Join-Path $dotnetRoot (GetExecutableFileName 'dotnet')
$buildTool = @{ Path = $dotnetPath; Command = 'msbuild'; Tool = 'dotnet'; Framework = 'netcoreapp3.1' }
$buildTool = @{ Path = $dotnetPath; Command = 'msbuild'; Tool = 'dotnet'; Framework = 'net6.0' }
} elseif ($msbuildEngine -eq "vs") {
try {
$msbuildPath = InitializeVisualStudioMSBuild -install:$restore

2
eng/common/tools.sh

@ -306,7 +306,7 @@ function InitializeBuildTool {
# return values
_InitializeBuildTool="$_InitializeDotNetCli/dotnet"
_InitializeBuildToolCommand="msbuild"
_InitializeBuildToolFramework="netcoreapp3.1"
_InitializeBuildToolFramework="net6.0"
}
# Set RestoreNoCache as a workaround for https://github.com/NuGet/Home/issues/3116

6
global.json

@ -1,12 +1,12 @@
{
"tools": {
"dotnet": "6.0.100-preview.6.21355.2",
"dotnet": "6.0.100-rc.2.21505.57",
"runtimes": {
"dotnet": [
"3.1.14"
"6.0.0-rc.2.21480.5"
],
"aspnetcore": [
"3.1.14"
"6.0.0-rc.2.21480.10"
]
}
},

3
src/Microsoft.Tye.Core/ConfigModel/ConfigApplication.cs

@ -144,7 +144,8 @@ namespace Microsoft.Tye.ConfigModel
foreach (var probe in probes)
{
context = new ValidationContext(probe.Probe!);
if (!Validator.TryValidateObject(probe.Probe, context, results, validateAllProperties: true))
// TODO: Investigate possible null.
if (!Validator.TryValidateObject(probe.Probe!, context, results, validateAllProperties: true))
{
throw new TyeYamlException(
$"Probe '{probe.Name}' in service '{service.Name}' validation failed." + Environment.NewLine +

2
src/Microsoft.Tye.Core/Microsoft.Tye.Core.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>Tye</RootNamespace>
<AssemblyName>Microsoft.Tye.Core</AssemblyName>
<PackageId>Microsoft.Tye.Core</PackageId>

2
src/Microsoft.Tye.Extensions/Microsoft.Tye.Extensions.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
<ItemGroup>

2
src/Microsoft.Tye.Hosting.Diagnostics/Microsoft.Tye.Hosting.Diagnostics.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<Description>Diagnostics collector and exporter for .NET Core applications.</Description>
<AssemblyName>Microsoft.Tye.Hosting.Diagnostics</AssemblyName>
<PackageId>Microsoft.Tye.Hosting.Diagnostics</PackageId>

2
src/Microsoft.Tye.Hosting/DockerRunner.cs

@ -62,7 +62,7 @@ namespace Microsoft.Tye.Hosting
// Inject a proxy per non-container service. This allows the container to use normal host names within the
// container network to talk to services on the host
var proxyContainer = new DockerRunInfo($"mcr.microsoft.com/dotnet/core/sdk:3.1", "dotnet Microsoft.Tye.Proxy.dll")
var proxyContainer = new DockerRunInfo($"mcr.microsoft.com/dotnet/sdk:6.0", "dotnet Microsoft.Tye.Proxy.dll")
{
WorkingDirectory = "/app",
NetworkAlias = service.Description.Name,

3
src/Microsoft.Tye.Hosting/HttpProxyService.cs

@ -178,7 +178,8 @@ namespace Microsoft.Tye.Hosting
}
var uri = new UriBuilder(uris[next].Uri)
{
Path = rule.PreservePath ? $"{context.Request.Path}" : (string)context.Request.RouteValues["path"] ?? "/",
// TODO: Investigate possible null.
Path = rule.PreservePath ? $"{context.Request.Path}" : (string)context.Request!.RouteValues["path"]! ?? "/",
Query = context.Request.QueryString.Value
};

6
src/Microsoft.Tye.Hosting/Infrastructure/ProxyExtensions.cs

@ -88,7 +88,8 @@ namespace Microsoft.AspNetCore.Proxy
// Append request forwarding headers
requestMessage.Headers.TryAddWithoutValidation("Via", $"{context.Request.Protocol} Tye");
requestMessage.Headers.TryAddWithoutValidation("X-Forwarded-For", context.Connection.RemoteIpAddress.ToString());
// TODO: Investigate possible null.
requestMessage.Headers.TryAddWithoutValidation("X-Forwarded-For", context.Connection!.RemoteIpAddress!.ToString());
requestMessage.Headers.TryAddWithoutValidation("X-Forwarded-Proto", request.Scheme);
requestMessage.Headers.TryAddWithoutValidation("X-Forwarded-Host", request.Host.ToUriComponent());
@ -129,7 +130,8 @@ namespace Microsoft.AspNetCore.Proxy
}
AppendHeaderValue(client.Options, context.Request.Headers, "Via", context.Request.Protocol);
AppendHeaderValue(client.Options, context.Request.Headers, "X-Forwarded-For", context.Connection.RemoteIpAddress.ToString());
// TODO: Investigate possible null.
AppendHeaderValue(client.Options, context.Request.Headers, "X-Forwarded-For", context.Connection!.RemoteIpAddress!.ToString());
AppendHeaderValue(client.Options, context.Request.Headers, "X-Forwarded-Proto", context.Request.Scheme);
AppendHeaderValue(client.Options, context.Request.Headers, "X-Forwarded-Host", context.Request.Host.ToUriComponent());

18
src/Microsoft.Tye.Hosting/Infrastructure/ServiceLoggerProvider.cs

@ -37,9 +37,9 @@ namespace Microsoft.Tye.Hosting
_logs = logs;
}
public IDisposable? BeginScope<TState>(TState state)
public IDisposable BeginScope<TState>(TState state)
{
return null;
return new NoOpScope();
}
public bool IsEnabled(LogLevel logLevel)
@ -47,15 +47,25 @@ namespace Microsoft.Tye.Hosting
return true;
}
public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)
public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception? exception, Func<TState, Exception, string>? formatter)
{
_logs.OnNext($"[{logLevel}]: {formatter(state, exception)}");
if (formatter != null && exception != null)
{
_logs.OnNext($"[{logLevel}]: {formatter(state, exception)}");
}
if (exception != null)
{
_logs.OnNext(exception.ToString());
}
}
private sealed class NoOpScope : IDisposable
{
public void Dispose()
{
}
}
}
}
}

2
src/Microsoft.Tye.Hosting/Microsoft.Tye.Hosting.csproj

@ -2,7 +2,7 @@
<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<Description>Orchestration host APIs.</Description>
<AssemblyName>Microsoft.Tye.Hosting</AssemblyName>
<PackageId>Microsoft.Tye.Hosting</PackageId>

12
src/Microsoft.Tye.Hosting/ProxyService.cs

@ -94,7 +94,8 @@ namespace Microsoft.Tye.Hosting
return;
}
using var _ = cts.Token.Register(() => notificationFeature.RequestClose());
// TODO: Investigate possible null.
using var _ = cts.Token.Register(() => notificationFeature!.RequestClose());
NetworkStream? targetStream = null;
@ -131,11 +132,13 @@ namespace Microsoft.Tye.Hosting
{
_logger.LogDebug("Proxying traffic to {ServiceName} {ExternalPort}:{InternalPort}", service.Description.Name, binding.Port, ports[next]);
// TODO: Investigate possible null.
// external -> internal
var reading = Task.Run(() => connection.Transport.Input.CopyToAsync(targetStream, notificationFeature.ConnectionClosedRequested));
var reading = Task.Run(() => connection.Transport.Input.CopyToAsync(targetStream, notificationFeature!.ConnectionClosedRequested));
// TODO: Investigate possible null.
// internal -> external
var writing = Task.Run(() => targetStream.CopyToAsync(connection.Transport.Output, notificationFeature.ConnectionClosedRequested));
var writing = Task.Run(() => targetStream.CopyToAsync(connection.Transport.Output, notificationFeature!.ConnectionClosedRequested));
await Task.WhenAll(reading, writing);
}
@ -149,7 +152,8 @@ namespace Microsoft.Tye.Hosting
}
catch (OperationCanceledException ex)
{
if (!notificationFeature.ConnectionClosedRequested.IsCancellationRequested)
// TODO: Investigate possible null.
if (!notificationFeature!.ConnectionClosedRequested.IsCancellationRequested)
{
_logger.LogDebug(0, ex, "Proxy error for service {ServiceName}", service.Description.Name);
}

4
src/Microsoft.Tye.Hosting/TransformProjectsIntoContainers.cs

@ -87,10 +87,10 @@ namespace Microsoft.Tye.Hosting
// This is .NET specific
var userSecretStore = GetUserSecretsPathFromSecrets();
Directory.CreateDirectory(userSecretStore);
if (!string.IsNullOrEmpty(userSecretStore))
{
Directory.CreateDirectory(userSecretStore);
// Map the user secrets on this drive to user secrets
dockerRunInfo.VolumeMappings.Add(new DockerVolume(source: userSecretStore, name: null, target: "/root/.microsoft/usersecrets", readOnly: true));
}

7
src/Microsoft.Tye.Hosting/TyeHost.cs

@ -102,7 +102,8 @@ namespace Microsoft.Tye.Hosting
await app.StartAsync();
_addresses = DashboardWebApplication.Services.GetRequiredService<IServer>().Features.Get<IServerAddressesFeature>().Addresses;
// TODO: Investigate possible null.
_addresses = DashboardWebApplication.Services.GetRequiredService<IServer>().Features.Get<IServerAddressesFeature>()!.Addresses;
_logger.LogInformation("Dashboard running on {Address}", _addresses.First());
@ -333,7 +334,7 @@ namespace Microsoft.Tye.Hosting
}
catch (Exception ex)
{
_logger.LogError(ex, "Error while shutting down");
_logger?.LogError(ex, "Error while shutting down");
}
finally
{
@ -375,7 +376,7 @@ namespace Microsoft.Tye.Hosting
}
catch (Exception ex)
{
_logger.LogError(ex, "Error launching dashboard.");
_logger?.LogError(ex, "Error launching dashboard.");
}
}

2
src/Microsoft.Tye.Proxy/Microsoft.Tye.Proxy.csproj

@ -2,7 +2,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
<ItemGroup>

14
src/Microsoft.Tye.Proxy/Program.cs

@ -64,7 +64,8 @@ namespace Microsoft.Tye.Proxy
logger.LogDebug("Attempting to connect to {ServiceName} listening on {Port}:{ExternalPort}", serviceName, mapping.Port, mapping.ExternalPort);
await target.ConnectAsync(containerHost, mapping.ExternalPort);
// TODO: Investigate null host.
await target.ConnectAsync(containerHost!, mapping.ExternalPort);
logger.LogDebug("Successfully connected to {ServiceName} listening on {Port}:{ExternalPort}", serviceName, mapping.Port, mapping.ExternalPort);
@ -87,11 +88,13 @@ namespace Microsoft.Tye.Proxy
{
logger.LogDebug("Proxying traffic to {ServiceName} {Port}:{ExternalPort}", serviceName, mapping.Port, mapping.ExternalPort);
// external -> internal
var reading = Task.Run(() => connection.Transport.Input.CopyToAsync(targetStream, notificationFeature.ConnectionClosedRequested));
// TODO: Investigate possible null.
// external -> internal
var reading = Task.Run(() => connection.Transport.Input.CopyToAsync(targetStream, notificationFeature!.ConnectionClosedRequested));
// TODO: Investigate possible null.
// internal -> external
var writing = Task.Run(() => targetStream.CopyToAsync(connection.Transport.Output, notificationFeature.ConnectionClosedRequested));
var writing = Task.Run(() => targetStream.CopyToAsync(connection.Transport.Output, notificationFeature!.ConnectionClosedRequested));
await Task.WhenAll(reading, writing);
}
@ -105,7 +108,8 @@ namespace Microsoft.Tye.Proxy
}
catch (OperationCanceledException ex)
{
if (!notificationFeature.ConnectionClosedRequested.IsCancellationRequested)
// TODO: Investigate possible null.
if (!notificationFeature!.ConnectionClosedRequested.IsCancellationRequested)
{
logger.LogDebug(0, ex, "Proxy error for service {ServiceName}", serviceName);
}

5
src/shared/KubectlDetector.cs

@ -47,8 +47,9 @@ namespace Microsoft.Tye
{
continue;
}
var major = int.Parse(element.Value.GetProperty("major").GetString());
var minor = int.Parse(element.Value.GetProperty("minor").GetString().Trim('+'));
// TODO: Investigate possible null.
var major = int.Parse(element.Value!.GetProperty("major")!.GetString()!);
var minor = int.Parse(element.Value!.GetProperty("minor")!.GetString()!.Trim('+'));
var version = new Version(major, minor);
return version;
}

2
src/tye-diag-agent/tye-diag-agent.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Worker">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>Microsoft.Tye</RootNamespace>
</PropertyGroup>

3
src/tye/InitHost.cs

@ -37,7 +37,8 @@ namespace Microsoft.Tye
throw new CommandException(errorMessage!);
}
path = new FileInfo(filePath);
// TODO: Investigate possible null.
path = new FileInfo(filePath!);
}
var template = @"

2
src/tye/tye.csproj

@ -2,7 +2,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>Microsoft.Tye</RootNamespace>
<AssemblyName>tye</AssemblyName>
<PackageId>Microsoft.Tye</PackageId>

6
test/E2ETest/ApplicationFactoryTests.cs

@ -135,14 +135,14 @@ services:
// Debug targets can be null if not specified, so make sure calling host.Start does not throw.
var outputContext = new OutputContext(_sink, Verbosity.Debug);
var projectFile = new FileInfo(yamlFile);
var applicationBuilder = await ApplicationFactory.CreateAsync(outputContext, projectFile, "netcoreapp3.1");
var applicationBuilder = await ApplicationFactory.CreateAsync(outputContext, projectFile, "net6.0");
Assert.Single(applicationBuilder.Services);
var service = applicationBuilder.Services.Single(s => s.Name == "multi-targetframeworks");
var containsTargetFramework = ((DotnetProjectServiceBuilder)service).BuildProperties.TryGetValue("TargetFramework", out var targetFramework);
Assert.True(containsTargetFramework);
Assert.Equal("netcoreapp3.1", targetFramework);
Assert.Equal("net6.0", targetFramework);
}
[Fact]
@ -154,7 +154,7 @@ services:
// Debug targets can be null if not specified, so make sure calling host.Start does not throw.
var outputContext = new OutputContext(_sink, Verbosity.Debug);
var projectFile = new FileInfo(yamlFile);
var applicationBuilder = await ApplicationFactory.CreateAsync(outputContext, projectFile, "netcoreapp3.1");
var applicationBuilder = await ApplicationFactory.CreateAsync(outputContext, projectFile, "net6.0");
Assert.Single(applicationBuilder.Services);
var service = applicationBuilder.Services.Single(s => s.Name == "multi-targetframeworks");

2
test/E2ETest/Microsoft.Tye.E2ETests.csproj

@ -2,7 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<AssemblyName>Microsoft.Tye.E2ETest</AssemblyName>
<IsTestProject>true</IsTestProject>
<IsUnitTestProject>true</IsUnitTestProject>

4
test/E2ETest/TyeBuildTests.Dockerfile.cs

@ -226,7 +226,7 @@ namespace E2ETest
var projectFile = new FileInfo(Path.Combine(projectDirectory.DirectoryPath, "tye-no-buildproperties.yaml"));
var outputContext = new OutputContext(sink, Verbosity.Debug);
var application = await ApplicationFactory.CreateAsync(outputContext, projectFile, "netcoreapp3.1");
var application = await ApplicationFactory.CreateAsync(outputContext, projectFile, "net6.0");
application.Registry = new ContainerRegistry("test");
@ -260,7 +260,7 @@ namespace E2ETest
var projectFile = new FileInfo(Path.Combine(projectDirectory.DirectoryPath, "tye-with-netcoreapp31.yaml"));
var outputContext = new OutputContext(sink, Verbosity.Debug);
var application = await ApplicationFactory.CreateAsync(outputContext, projectFile, "netcoreapp3.1");
var application = await ApplicationFactory.CreateAsync(outputContext, projectFile, "net6.0");
application.Registry = new ContainerRegistry("test");

5
test/E2ETest/TyeRunTests.cs

@ -799,7 +799,8 @@ services:
[Fact]
public async Task IngressAllIPTest()
{
await TestIngressIP($"'*'", GetLiveIPAddresses().FirstOrDefault());
// TODO: Possible null reference (the default case).
await TestIngressIP($"'*'", GetLiveIPAddresses().FirstOrDefault()!);
}
@ -1137,7 +1138,7 @@ services:
var projectFile = new FileInfo(Path.Combine(projectDirectory.DirectoryPath, "tye-no-buildproperties.yaml"));
var outputContext = new OutputContext(_sink, Verbosity.Debug);
var application = await ApplicationFactory.CreateAsync(outputContext, projectFile, "netcoreapp3.1");
var application = await ApplicationFactory.CreateAsync(outputContext, projectFile, "net6.0");
var handler = new HttpClientHandler
{

2
test/E2ETest/testassets/projects/Console.Normalization.svc.Name/Console.Normalization.svc.Name.csproj

@ -2,7 +2,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
</Project>

2
test/E2ETest/testassets/projects/apps-with-ingress/ApplicationA/ApplicationA.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
</Project>

2
test/E2ETest/testassets/projects/apps-with-ingress/ApplicationB/ApplicationB.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
</Project>

2
test/E2ETest/testassets/projects/apps-with-ingress/ApplicationC-UI/ApplicationC-UI.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
</Project>

2
test/E2ETest/testassets/projects/azure-functions/backend/backend.csproj

@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<AzureFunctionsVersion>v3</AzureFunctionsVersion>
</PropertyGroup>
<ItemGroup>

2
test/E2ETest/testassets/projects/azure-functions/frontend/frontend.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>Frontend</RootNamespace>
</PropertyGroup>

2
test/E2ETest/testassets/projects/dapr/dapr.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
</Project>

2
test/E2ETest/testassets/projects/dockerfile/frontend/frontend.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>Frontend</RootNamespace>
</PropertyGroup>

2
test/E2ETest/testassets/projects/frontend-backend/backend/backend-baseimage.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>Backend</RootNamespace>
</PropertyGroup>

2
test/E2ETest/testassets/projects/frontend-backend/backend/backend.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>Backend</RootNamespace>
</PropertyGroup>

2
test/E2ETest/testassets/projects/frontend-backend/frontend/frontend.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>Frontend</RootNamespace>
</PropertyGroup>

2
test/E2ETest/testassets/projects/generate-connectionstring-dependency/frontend/frontend.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
</Project>

2
test/E2ETest/testassets/projects/generate-named-binding/frontend/frontend.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
</Project>

2
test/E2ETest/testassets/projects/generate-uri-dependency/frontend/frontend.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
</Project>

2
test/E2ETest/testassets/projects/health-checks/api/api.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>

2
test/E2ETest/testassets/projects/multi-phase-dockerfile/multi-phase-dockerfile.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>multi_phase_dockerfile</RootNamespace>
</PropertyGroup>

2
test/E2ETest/testassets/projects/multi-project/backend/backend.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>Backend</RootNamespace>
</PropertyGroup>

2
test/E2ETest/testassets/projects/multi-project/frontend/frontend.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
<ItemGroup>

2
test/E2ETest/testassets/projects/multi-project/worker/worker.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Worker">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<UserSecretsId>dotnet-worker-E4419EA1-F496-4FE1-A024-7E75E40B9E10</UserSecretsId>
<RootNamespace>Worker</RootNamespace>
</PropertyGroup>

2
test/E2ETest/testassets/projects/multi-targetframeworks/multi-targetframeworks/multi-targetframeworks.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFrameworks>netcoreapp3.1;netcoreapp2.1</TargetFrameworks>
<TargetFrameworks>net6.0;netcoreapp2.1</TargetFrameworks>
<RootNamespace>MultiTargetFrameworks</RootNamespace>
</PropertyGroup>

2
test/E2ETest/testassets/projects/multi-targetframeworks/tye-with-netcoreapp31.yaml

@ -6,4 +6,4 @@ services:
project: multi-targetframeworks/multi-targetframeworks.csproj
buildProperties:
- name: TargetFramework
value: netcoreapp3.1
value: net6.0

2
test/E2ETest/testassets/projects/multirepo/results/results.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>Results</RootNamespace>
</PropertyGroup>

2
test/E2ETest/testassets/projects/multirepo/vote/vote.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>Vote</RootNamespace>
</PropertyGroup>

2
test/E2ETest/testassets/projects/multirepo/worker/worker.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<UserSecretsId>dotnet-worker-A47A7C4B-4BF2-4243-9BBE-E6B3CB3E9C6F</UserSecretsId>
<RootNamespace>Worker</RootNamespace>
</PropertyGroup>

2
test/E2ETest/testassets/projects/nginx-ingress/ApplicationA/ApplicationA.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
</Project>

2
test/E2ETest/testassets/projects/nginx-ingress/ApplicationB/ApplicationB.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
</Project>

2
test/E2ETest/testassets/projects/project-types/app/app.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
</Project>

2
test/E2ETest/testassets/projects/project-types/class-library/class-library.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>class_library</RootNamespace>
</PropertyGroup>

2
test/E2ETest/testassets/projects/project-types/test-project/test-project.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>test_project</RootNamespace>
<IsPackable>false</IsPackable>

2
test/E2ETest/testassets/projects/single-phase-dockerfile-args-duplicates/single-phase-dockerfile-args.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>single_phase_dockerfile_args</RootNamespace>
</PropertyGroup>

2
test/E2ETest/testassets/projects/single-phase-dockerfile-args/single-phase-dockerfile-args.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>single_phase_dockerfile_args</RootNamespace>
</PropertyGroup>

2
test/E2ETest/testassets/projects/single-phase-dockerfile-multi-args/single-phase-dockerfile-multi-args.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>single_phase_dockerfile_args</RootNamespace>
</PropertyGroup>

2
test/E2ETest/testassets/projects/single-phase-dockerfile/single-phase-dockerfile.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>single_phase_dockerfile</RootNamespace>
</PropertyGroup>

2
test/E2ETest/testassets/projects/single-project/test-project/test-project.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>test_project</RootNamespace>
</PropertyGroup>

2
test/E2ETest/testassets/projects/volume-test/volume-test.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>volume_test</RootNamespace>
</PropertyGroup>

2
test/E2ETest/testassets/projects/web-app/web-app.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>web_app</RootNamespace>
</PropertyGroup>

2
test/Microsoft.Tye.Extensions.Configuration.Tests/Microsoft.Tye.Extensions.Configuration.Tests.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<IsTestProject>true</IsTestProject>
</PropertyGroup>

2
test/Test.Infrastructure/Test.Infrastructure.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<IsPackable>false</IsPackable>
<TestRunnerName>XUnit</TestRunnerName>
<Nullable>disable</Nullable>

2
test/UnitTests/Microsoft.Tye.UnitTests.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<AssemblyName>Microsoft.Tye.UnitTests</AssemblyName>
<IsTestProject>true</IsTestProject>
<IsUnitTestProject>true</IsUnitTestProject>

Loading…
Cancel
Save