-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
[.NET 8 Regression] error CS1504: Source file "<Path to XAML>" could not be opened --- Could not find file #34438
Comments
@chuckries Helped point out that this may be an issue caused with the project overriding the
|
Just ran into this as well, ping me on Teams if you need a repro. |
Works in 8.0.100-preview.3.23178.7 |
Still repros with 8.0.100-rc.1.23463.5. We do override IntermediateOutputPath however not doing anything crazy, just group all projects obj folder under common obj folder in the root. Each project stil has its own subfolder under common obj. |
I've investigated this and found a workaround, which is to set the @tmat This is a regression in .NET 8 that looks like it's related to Source Link embedding untracked files, can you take a look? I compared a build of the project between the .NET 7 and the .NET 8 SDK. In the .NET 8 SDK where it fails, there are
These appear to be causing, or te be related to, the error that is being generated. |
This is an old bug in nuget/wpf interaction: dotnet/wpf#1718 |
@KirillOsenkov Is property |
It doesn't appear to be set or mentioned at all. @dsplaisted I don't have the broken SDK on this machine anymore, so if you could try setting |
I notice that this is present for .NET Core WinFX targets: |
Thank you @dsplaisted for investigating. I could not figure out what was wrong from the binlog.
And @tmat thanks for following up, is there a reason this may not have surfaced for customers in .NET 7 but would begin to surface in .NET 8? If so, we should create a breaking change doc. |
Yes, we enabled Source Link by default in NET 8. |
+1 |
Let’s also create a minimal repro .csproj for easier validation. Thoughts on what the right fix should be here? |
We don't really want |
The problem though is that it's desktop WPF that is broken, would it be fixed by changes to dotnet/wpf? |
/cc @pchaurasia14 FYI |
@tmat would you like to drive that breaking change docs issue, or should I go ahead and get that started? |
Please, get it started if you don't mind. |
Just checking in here - Is there any action item for WPF regarding exposing the |
This is very blocking, let's get this fixed please. |
Are we shipping .NET 8 with this? It's going to basically break all WPF desktop in the world. To me it looks like an absolute shipstopper. |
Offline we figured out that there are two ways to get into this situation: 1.Setting
dotnet/wpf#8378 fixes the former. sdk344838.zip is a repro of the latter. |
Workarounds Available:
|
Related: dotnet/wpf#1718 |
This PR addresses issues building MIEngine with .NET 8 SDK. See dotnet/sdk#34438
Starting to see these in the wild as folks update to .NET 8. Did we end up having a doc page or an aka.ms links that I can point people to? |
Related: dotnet/sourcelink#492 |
Related: dotnet/wpf#366 |
We are in second use case, targeting .NET Framework 4.7.1 while using .NET SDK 8 and redirecting to a costume |
aka.ms/net8wpfsl |
@singhashish-wpf the workarounds suggested, i.e. setting
Am I looping something ? |
@bouchraRekhadda EmbedUntrackedSources set as False. Does this workaround not work for you>? |
Unfortunately no. I still have the same error |
Can you share a minimal repro? And the versions of SDKs you are using? |
The 2nd case reproduces for me on .NET6, .NET7, .NET8 as well, Most probably I am missing something here. I heard that this is a regression in .NET8.
Attaching |
Hi Ashish, make sure to comment out the line 21 in MainWindow.xaml.cs: If you see in Rainer's repro, it is commented out: |
Thanks @KirillOsenkov for the repro steps. I was able to repro. From what I understand, this is happening as the EmbedUntrackedSources is set as True for the main project by default and we need some mechanism to make it false for such kind of projects(IntermediateOutputPath + Reference Desktop WPF libs). Not quite sure on where that change would be, @rainersigwald Any thoughts? |
This PR addresses issues building MIEngine with .NET 8 SDK. See dotnet/sdk#34438
I feel like this is a security issue. This will potentially disclose comments customers did not intend to disclose. |
This is what I'm using to workaround:
|
Describe the bug
A .NET project fails to build with the .NET 8 SDK but succeeds with the .NET 7 SDK. It seems to be an issue with the WPF generated source files not being able to find the original XAML file.
To Reproduce
dotnet build src\MIDebugEngine.sln
Errors Logs
Note: The build works if you use a .NET 7 SDK like
dotnet "C:\Program Files\dotnet\sdk\7.0.109\dotnet.dll" build src\MIDebugEngine
Exceptions (if any)
None. This is just
dotnet build
Further technical details
dotnet --info
dotnet --info output
VS Version does not matter as this repros with just the dotnet commandline but it reproduces with Visual Studio 17 Preview 7.
The text was updated successfully, but these errors were encountered: