-
Notifications
You must be signed in to change notification settings - Fork 387
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
Files linked into ResX files are not checked by the FUTDC #9441
Comments
Can it be true that I've been the first one to notice this`? |
Triage notes: This problem also occurs on the command line. Having > echo updated >> LinkedFile.txt
> dotnet run
prior ...will print out the old version, not the new one. So this issue isn't limited to VS. Note however that forcing a rebuild does cause the value to be picked up: > msbuild -t:Rebuild
> dotnet run
updated As for a potential fix, files linked into i.e. nothing during the rebuild, related to resource generation, looks at the Note that |
I won't say you're the first to experience the issue, but this is certainly the first I've heard about it. |
@merriemcgaw FYI, as this has potential impact for WinForms users migrating to .NET Core. @rainersigwald have you seen this before? |
It does, and the task has its own internal state lookup that tries to account for this case. Sounds like that's going awry here. Can FUTDC inputs come from a full build or are they all computed at design time? I'm wondering if we should add an output to |
@JeremyKuhne and @lonitra for visibility. |
We only pull data from design-time builds. I think anything we did here would likely regress perf due to resx file parsing, and be a non-starter on that basis. The work being done on improving resx editing does eagerly parse resx files and might be able to flow data into the FUTDC via a different channel. We'd have to think about it. I can't see a great path forward here, so I'd like to understand the impact of the problem. It's existed for a long time and we haven't had reports about it, but that doesn't mean people don't struggle with this. |
I don't think this can be pushed away on the basis of "impact" consideration. It has always worked (in .netframework projects) and is clearly something that is suppposed to work. The MSBuild documentation leaves no doubt about it:
If the FUTDC doesn't handle it properly, then it's a bug. A question of interest might be how the FUTDC in netframework projects is doing this.. |
Have to force rebuild every time. Really annoying |
When a
None
item (such as a text file) is linked into a.resx
file, any changes to thatNone
item do not trigger a build. This can lead to underbuild and confusion/frustration.This problem did not exist with legacy projects as they explicitly list all project inputs in the
.csproj
file. SDK-style projects use globbing and do not includeNone
items in the FUTDC for performance reasons.Repro steps
LinkedFile.txt
Resources.resx
with contentprior
.resx
file with the Managed Resources EditorLinkedFile.txt
Notice that
LinkedFile.txt
is not inspected at all by the FUTDC:The text was updated successfully, but these errors were encountered: