Comments (12)
If there is a possibility of low usage, shall we put the change behind the changewave?
from msbuild.
Nice find! I can't believe that match is not case sensitive in the first place.
from msbuild.
Will the fix be considered a breaking change again?
from msbuild.
I'm inclined to say no--because "we already updated the documentation to say you can't do that" but it's definitely a concern. @baronfel do you have thoughts?
from msbuild.
Another possible fix would be to block access to System.Type references in general, rather than just GetType().
from msbuild.
I'm inclined to say 'no' for the same reason - the justification for the breaking change notes that there is no broadly-known usage of GetType any longer, so I think the impact of this would be quite low. If we get any significant user feedback that it is in use we can of course add breaking change notices quite quickly and out-of-band of the MSBuild code itself.
from msbuild.
I see :) We have the MSBUILDENABLEALLPROPERTYFUNCTIONS, so the need of changewave is lowered.
Had spent some time understanding why it is not reproducible in debug mode :
from msbuild.
Does that InvalidOperationException also trigger for param == "System.String"? If so, that seems misguided.
"System.String".ToString() == "System.String".GetType().FullName
from msbuild.
@KalleOlaviNiemitalo it was exactly the case.
from msbuild.
Oh, I assumed you had param == typeof(RuntimeType), thus typeof(RuntimeType).ToString() == typeof(RuntimeType).GetType().FullName.
from msbuild.
I imagine && !(param is string)
would get rid of the false "Invalid type for message formatting argument" error.
from msbuild.
To be honest, I was thinking to leave it as it is, since it is in debug mode + the fix is prepared.
I'm not 100% sure that this fix should be applicble only for string
, however did not investigate details, there could be cases when ToString method overriden and returns the value == param.GetType().FullName, since the arguments is an array of object object[] args
.
from msbuild.
Related Issues (20)
- [Feature Request]: The warning in the WriteCodeFragment task should be changed to report the name of the attribute type whose definition it did not find. HOT 9
- [Feature Request]: SolutionFile.Parse doesn't work with the new slnx file HOT 4
- Fix non-thread safe Flush() in RedirectConsoleWriter HOT 3
- [Performance]: dotnet/runtime tests are bottlenecked by MSBuild performance HOT 6
- [Performance]: SmallElementLocation optimisation doesn't actually do anything HOT 1
- Broken MSBuild on Android Build .NET MAUI HOT 2
- [Feature Request]: Support management of daemons and other long-lived binaries using the same lifetime as MSBuild worker nodes
- [Infra] SampleAnalyzerIntegrationTest randomly timeouting in CI HOT 4
- Research meaning of null keyword in MSBuild
- [Feature Request]: Add ProjectGraph APIs for target framework negotiation
- Complex project setup with plugins and git submodules, need help building very specific output HOT 2
- [NETSDKE2E]The error count displays incorrectly in output of dotnet test xunit. HOT 4
- [Feature Request]: Implement support for native ARM64 enablement in NetFx AnyCPU executables HOT 4
- [Security] BuildCheck treat model
- [GB18030] UpToDate marker file name shortening doesn't respect surrogate chars
- Investigate the source of a big perf overhead when using analyzers on big solutions.
- [Bug]: Container Build error on .NET 6.0.29 and .NET SDK 6.0.421 HOT 2
- [Bug][BuildCheck]: Build succeedes with MSBUILDNOINPROCNODE enabled
- [Bug][BuildCheck]: DirectorySeparator is incorrectly shown on unix
- Investigate logs forwarding needs
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 msbuild.