Comments (20)
I think this would be very useful. For example, the WIX installer requires .Net 3.5 to be installed. Even if we are just creating installers for .Net 4.7.2, we still need .Net 3.5 installed. Installing .Net 3.5 is a pain on its own.
from dotnet-framework-docker.
After discussing this we settle on the following going forward.
- Use a new tagging scheme which clearly indicates which .NET versions are contained within the 3.5 images. e.g.
4.8-3.5
- Continue to produce 3.5 tagged images to make it easy for existing customers to migrate to newer versions of Windows.
Based on these decisions we will product the following tags for the upcoming release of Windows,
4.8-3.5-20200211-windowsservercore-2004, 4.8-3.5-windowsservercore-2004, 4.8-3.5, 3.5
from dotnet-framework-docker.
Is this implemented?
No, it will be implemented in the upcoming release for Windows Server, version 2004. Note that the implementation is strictly a tagging update as stated here: #70 (comment).
from dotnet-framework-docker.
After pondering this for a while, I am leaning towards retagging the 3.5 images to more accurately depict what they contain.
- Retag the 3.5 builder images to 4.7.1-3.5. Continue to produce the 3.5 tag with patches but no longer document it in the readme.
- Retag the 3.5 runtime image to 4.7.1-3.5. Additionally the base image should be changed to 4.7.1 so that the 4.7.1 ngen cache layer can be shared. Continue to produce the 3.5 tag with patches but no longer document it in the readme.
- Add a 4.71-3.5-windowsservercore-ltsc2016 runtime image based on the 4.71-windowsservercore-ltsc2016 runtime image. Given the 4.7.1 runtime image is more frequently used this will increase the likelihood of sharing layers.
The following would be the resulting tag documentation
Runtime Tags
Windows Server, version 1709 amd64 tags
4.7.1-windowsservercore-1709
,4.7.1
,latest
(4.7.1-windowsservercore-1709/runtime/Dockerfile)4.7.1-3.5-windowsservercore-1709
,4.7.1-3.5
(4.7.1-3.5-windowsservercore-1709/runtime/Dockerfile)
Windows Server 2016 amd64 tags
4.7.1-windowsservercore-ltsc2016
,4.7.1
,latest
(4.7.1-windowsservercore-ltsc2016/runtime/Dockerfile)4.7.1-3.5-windowsservercore-ltsc2016
,4.7.1-3.5
(4.7.1-3.5-windowsservercore-ltsc2016/runtime/Dockerfile)4.7-windowsservercore-ltsc2016
,4.7
(4.7-windowsservercore-ltsc2016/runtime/Dockerfile)4.6.2-windowsservercore-ltsc2016
,4.6.2
(4.6.2-windowsservercore-ltsc2016/runtime/Dockerfile)3.5-windowsservercore-ltsc2016
,3.5
(3.5-windowsservercore-ltsc2016/runtime/Dockerfile)
Builder Tags
Windows Server, version 1709 amd64 tags
4.7.1-20180213-windowsservercore-1709
,4.7.1-windowsservercore-1709
,4.7.1-20180213
,4.7.1
,latest
(4.7.1-windowsservercore-1709/build/Dockerfile)4.7.1-3.5-windowsservercore-1709
,4.7.1-3.5-20180313
,4.7.1-3.5
(4.7.1-3.5-windowsservercore-1709/build/Dockerfile)
Windows Server 2016 amd64 tags
4.7.1-20180213-windowsservercore-ltsc2016
,4.7.1-windowsservercore-ltsc2016
,4.7.1-20180213
,4.7.1
,latest
(4.7.1-windowsservercore-ltsc2016/build/Dockerfile)4.7.1-3.5-windowsservercore-ltsc2016
,4.7.1-3.5-20180313
,4.7.1-3.5
(4.7.1-3.5-windowsservercore-ltsc2016/build/Dockerfile)
Thoughts?
from dotnet-framework-docker.
@richlander - What are your thoughts on the tagging impact of this change? This is a potentially impacting change that would warrant a new tag.
from dotnet-framework-docker.
Ya. You are right. We don't need to provide all the intervening versions, but if we provide a 4.7.1 variant, we still need to allow people to get back to the 4.6.2 variant. I'm wondering which should be the default. If adding 4.7.1 came with no associated size increase, it would be an easy choice.
My instinct is to do the following:
- 4.7.1-3.5-windowsservercore-ltsc2016
- 3.5-windowsservercore-ltsc2016, 3.5
This approach partially mitigates the size increase. The idea is basing the 4.7.1-3.5 image on the 4.7.1 image. If you already have that image, then pulling this image is much cheaper than it otherwise would be. It also reduces the significant discontinuity that exists with the 3.5 image, today. If ASP.NET had a scenario that needed 3.5, then they would depend on this new tag and it would align with their other scenarios pretty well.
from dotnet-framework-docker.
Would like to get community feedback before proceeding with this proposal. If anyone has a scenario that would benefit from this, please let us know.
from dotnet-framework-docker.
I am trying to use this containers to build apps that use tlbimp from an older sdk which requires .net 3.5 while the most of the code base is actually targetting 4.7.1.
If the 3.5 image doesn't include the latest framework how about providing instructions on how to get .net version X.Y.Z into a container so people can create a container with whatever strange mixture of framework that they require?
from dotnet-framework-docker.
I have a similar scenario where majority of our projects are using dotnet framework 4.x but some projects require 3.5.
Either an image with 3.5 and the latest frameworks or instructions on how to install the latest.net framework in a 3.5 Container
Regards
Nas
from dotnet-framework-docker.
I also have a scenario where I have a big solution and some of the projects(2-3 out of ~30) use 3.5. An image with 4.7.1 containing also 3.5 would be life saving. Any ideas of workarounds on this untill then?
from dotnet-framework-docker.
@LemonJuice281 - The workaround would be to build your own image. You can easily do this by starting with the microsoft/dotnet-framework:3.5 image and then add 4.7.1 in your own Dockerfile (or vice versa). You can simply copy the 4.7.1 ltsc2016 Dockerfile and change the base image to the microsoft/dotnet-framework:3.5 image.
from dotnet-framework-docker.
I would like to call out that the 3.5 builder images support both 3.5 as well as 4.7.1. Additionally the 3.5-windowsservercore-1709 runtime image supports 4.7.1 because it is based on 1709. 1709 comes with the 4.7.1 runtime.
As noted in the original description, this is only an issue for the ltsc2016 runtime.
from dotnet-framework-docker.
Any progress on this? I'd kill for a 3.5/4.6.2/4.7.1 container.
from dotnet-framework-docker.
@richlander - let's chat about this and make a decision.
from dotnet-framework-docker.
We are currently in the process of containerizing a bunch of WCF apps. Unfortunately, they are running on .NET 3.5, so if there is anyway to include 3.5 in a server image that would be awesome.
from dotnet-framework-docker.
We are currently in the process of containerizing a bunch of WCF apps. Unfortunately, they are running on .NET 3.5, so if there is anyway to include 3.5 in a server image that would be awesome.
@noaksx3 - Are you specifically asking for WCF images for .NET Framework 3.5? If so, that's a separate issue from this one (feel free to log it). Otherwise, it's not clear to me what you're asking for and how it relates to this issue.
from dotnet-framework-docker.
Perhaps I don't understand the issue then. I thought this thread was pertaining to adding .NET Framework 3.5 to Windows Server Docker images.
from dotnet-framework-docker.
@noaksx3 - No, it's about adding additional .NET Framework versions to the 3.5 images we already do have. When you say "Windows Server" Docker images, what are you referring to exactly? We already do have 3.5 images for Server Core: https://hub.docker.com/_/microsoft-dotnet-framework-runtime. Or are you wanting this for the full Windows images: https://hub.docker.com/_/microsoft-windows?
from dotnet-framework-docker.
I believe this may be what I am needing: https://hub.docker.com/_/microsoft-dotnet-framework-runtime
Thank you for your quick replies.
from dotnet-framework-docker.
Is this implemented?
from dotnet-framework-docker.
Related Issues (20)
- Could not find a base address that matches scheme net.tcp for the endpoint with binding NetTcpBinding. Registered base address schemes are [http]. HOT 3
- Can no longer add Microsoft.VisualStudio.Component.SQL.SSDTBuildSku component to image HOT 4
- DOTNET_RUNNING_IN_CONTAINER not set in LTSC2019 windows docker images HOT 1
- Docker builds failed for framework/aspnet:4.8-windowsservercore-ltsc2022 HOT 1
- Revert disabling of prebuild validation
- Automate the collection of release data and update the appropriate files HOT 2
- Investigate how to migrate off of Windows Server 2016 build agents HOT 1
- "Related repositories" links broken in MAR
- msbuild suceeded for net48 and net462 solutions but no dll files generated HOT 5
- Running simple visual basic script for unzipping a zip file throws Unspecified Error HOT 1
- New-IISSiteBinding command not present in latest mcr.microsoft.com/dotnet/framework/wcf:4.8 HOT 7
- Example of logging support
- aspnet:4.8-windowsservercore-ltsc2022 won't start with port binding HOT 1
- Latest .NET 4.7.2 Images run into a tls error trying to install nuget HOT 7
- `RuntimeSdkImageTests.VerifyImagesWithWebApps` test is failing in PR validation on `sdk:4.8-windowsservercore-ltsc2016` image
- dotnet-framework-sdk claims that Visual Studio Build Tools are included – Yet, they are not HOT 3
- Image with tag 4.8-windowsservercore-ltsc2022 generate 403 error by default HOT 3
- Fault bucket , type 0 Event Name: APPCRASH HOT 6
- Code coverage tool doesn't seem to work HOT 3
- Improve targeting pack acquisition
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dotnet-framework-docker.