-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Breaking change]: Source Link is included in the .NET SDK #37674
Comments
@baronfel isn't this "source incompatible" rather than "behavior change"? Existing binaries don't change behavior but updating the SDK and rebuilding can change a version string. |
The SDK version has been updated in the global.json file to "8.0.100-rc.2.23502.2", and additional properties such as "allowPrerelease" and "rollForward" have been set. In the BuildLifetime.cs file, a new property "IncludeSourceRevisionInInformationalVersion" has also been added to address a specific issue namely, 'dotnet/docs#37674'.
The SDK version has been updated in the global.json file to "8.0.100-rc.2.23502.2", and additional properties such as "allowPrerelease" and "rollForward" have been set. In the BuildLifetime.cs file, a new property "IncludeSourceRevisionInInformationalVersion" has also been added to address a specific issue namely, 'dotnet/docs#37674'.
The SDK version has been updated in the global.json file to "8.0.100-rc.2.23502.2", and additional properties such as "allowPrerelease" and "rollForward" have been set. In the BuildLifetime.cs file, a new property "IncludeSourceRevisionInInformationalVersion" has also been added to address a specific issue namely, 'dotnet/docs#37674'.
The SDK version has been updated in the global.json file to "8.0.100-rc.2.23502.2", and additional properties such as "allowPrerelease" and "rollForward" have been set. In the BuildLifetime.cs file, a new property "IncludeSourceRevisionInInformationalVersion" has also been added to address a specific issue namely, 'dotnet/docs#37674'.
Upgraded the Target Framework Moniker (TFM) from net7.0 to net8.0 in multiple configurations, project files, and script files. This includes modifying the task arguments, project configurations, constants, and GitHub workflows to reflect the changes made to accommodate the new net8.0 framework. The SDK version has been updated in the global.json file to "8.0.100-rc.2.23502.2", and additional properties such as "allowPrerelease" and "rollForward" have been set. In the BuildLifetime.cs file, a new property "IncludeSourceRevisionInInformationalVersion" has also been added to address a specific issue namely, 'dotnet/docs#37674'.
Upgraded the Target Framework Moniker (TFM) from net7.0 to net8.0 in multiple configurations, project files, and script files. This includes modifying the task arguments, project configurations, constants, and GitHub workflows to reflect the changes made to accommodate the new net8.0 framework. The SDK version has been updated in the global.json file to "8.0.100-rc.2.23502.2", and additional properties such as "allowPrerelease" and "rollForward" have been set. In the BuildLifetime.cs file, a new property "IncludeSourceRevisionInInformationalVersion" has also been added to address a specific issue namely, 'dotnet/docs#37674'.
Upgraded the Target Framework Moniker (TFM) from net7.0 to net8.0 in multiple configurations, project files, and script files. This includes modifying the task arguments, project configurations, constants, and GitHub workflows to reflect the changes made to accommodate the new net8.0 framework. The SDK version has been updated in the global.json file to "8.0.100-rc.2.23502.2", and additional properties such as "allowPrerelease" and "rollForward" have been set. In the BuildLifetime.cs file, a new property "IncludeSourceRevisionInInformationalVersion" has also been added to address a specific issue namely, 'dotnet/docs#37674'.
Upgraded the Target Framework Moniker (TFM) from net7.0 to net8.0 in multiple configurations, project files, and script files. This includes modifying the task arguments, project configurations, constants, and GitHub workflows to reflect the changes made to accommodate the new net8.0 framework. The SDK version has been updated in the global.json file to "8.0.100-rc.2.23502.2", and additional properties such as "allowPrerelease" and "rollForward" have been set. In the BuildLifetime.cs file, a new property "IncludeSourceRevisionInInformationalVersion" has also been added to address a specific issue namely, 'dotnet/docs#37674'.
Upgraded the Target Framework Moniker (TFM) from net7.0 to net8.0 in multiple configurations, project files, and script files. This includes modifying the task arguments, project configurations, constants, and GitHub workflows to reflect the changes made to accommodate the new net8.0 framework. The SDK version has been updated in the global.json file to "8.0.100-rc.2.23502.2", and additional properties such as "allowPrerelease" and "rollForward" have been set. In the BuildLifetime.cs file, a new property "IncludeSourceRevisionInInformationalVersion" has also been added to address a specific issue namely, 'dotnet/docs#37674'.
It would help to also document the |
Imagine your CI/CD relies on Product Version. Suddenly whole CI/CD operations fail because the |
This also affects calls to these methods (possibly others) since they are using the ProductVersion as part of the path ("Base Path\CompanyName\ProductName\ProductVersion"): System.Windows.Forms.Application.UserAppDataPath Having the data paths change after every commit instead of when the version was changed was unexpected behavior and disruptive during active development. I don't imagine a typical developer will expect to "lose" their user data on next application launch/debug just by committing a code change. |
Description
The Source Link build tooling is included in the .NET SDK as of .NET SDK 8.0.100-preview.4, which enables packages and applications to embed information about the source control information of the built artifacts. As a side effect, by default commit information will be included in the InformationalVersion of build libraries and applications.
Version
.NET 8 Preview 6
Previous behavior
Prior to this change, the default
InformationalVersion
of a library or application would be theVersion
property.New behavior
After this change, the default
InformationalVersion
of a library or application would be theVersion
property as well as theSourceRevisionId
property.Type of breaking change
Reason for change
Source Link enables very rich editor tooling, like go-to-definition support for non-local source files. We think this benefit is worth including by default for all artifacts.
Recommended action
If your build process or code is not expecting Source Revision information in the InformationalVersion, you can disable this behavior by setting the
IncludeSourceRevisionInInformationalVersion
property tofalse
.Feature area
SDK
Affected APIs
No response
Associated WorkItem - 177280
The text was updated successfully, but these errors were encountered: