-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Solution dependency leads to error MSB4057: The target "GetTargetPath" does not exist in the project #4303
Comments
This is fairly involved. It's related to 3258497, which was in 15.8. NuGet packaging calls I think NuGet should special case the GeneratePackageOnBuild case for a single-targeted project to collapse to the current build, which already has references resolved. This can be worked around by adding a Directory.Build.props for your solution with this property: <Project>
<PropertyGroup>
<AddSyntheticProjectReferencesForSolutionDependencies>false</AddSyntheticProjectReferencesForSolutionDependencies>
</PropertyGroup>
</Project> |
Since building from Visual Studio seems work fine and not result in an error, I assume that's because it has a different way of invoking all of this?
The workaround I came up with that seems to be working was to switch to a |
I could be misunderstanding what you're saying here, but the problem still occurs when ClassLibrary1 is multi-targeted a well. |
Yes, unfortunately. VS builds projects in a solution using a pretty different mechanism from MSBuild's solution handling.
Yeah, if that works for you I'd prefer it over a solution dependency--it's clearer from the MSBuild side. |
FWIW, I had 2 references to the same project within the solution. Opening the csproj file with a text editor indicated that (Visual Studio did not, neither did a 'remove project reference' > 'add project reference'). The 2 references had different guids, 1 of them was the incorrect one. |
I had the same error and somewhat similar to @sebashek, I had two identical project references listed in a single project file. Removing one of the references fixed the issue. |
@rainersigwald I see this still has no milestone. Any plans to address at some point? |
I had the same issue. When I modified a project and changed its assembly name, an NUnitTest project referencing the modified project couldn't build anymore. Other projects referencing the modified project wasn't affected. I noticed that this error was purely because of a space in the middle of the new This bug is basically preventing me from having a space in name of any assembly which has a unit test. workaround: rename assembly and remove spaces |
i'm getting this error in visual studio 2019 using a solution with a mix of old-style and new style multi-targeted csproj files. not sure where to go from here. |
Not sure if this is related But I came here for the error, whil inspecting my csporj I noticed I had somehow included the same projectreference twice! After removing the duplicate my error went away. So at least there are more reasons that you can get this error |
This is very problematic for CMake projects that use |
I had the same double project reference in the csproj as others, removing that fixed it. |
@rokups - did you find a solution for the problem with |
I do not remember. I am not dealing with this issue any more, but i can not find any relevant commits from the time of my post. Not sure if this happened in some experimental branch that i later scrapped... Sorry for being useless :| |
After long struggles with the problem using
|
I seemed to get this after changing TargetFramework --> TargetFrameworks. The project I did this in started failing to build, but only in builds with other projects that depended on it (worked when I built it by itself). In the end I only needed one target framework so dropped the |
This also happened to me with 17.0.1, I have created a bug report here: https://developercommunity.visualstudio.com/t/Multi-framework-C-project-fails-build-w/1590856?space=8&q=guhidalg&entry=problem |
I added a comment to your report @ghidalgo3. It's too complicated to create a simple repro though. |
This was the fix for me, using xUnit. My Test assembly was referencing several projects, and the problems were only with the ones that had spaces in them, but I never would have thought that this sort of thing would still cause problems in 2022. |
Found a workaround for UWP case: In the second project pluralize TFM so it says |
I just had the same issue with the same conditions as described above:
Only solution that worked for me was changing |
There is a problem with solution dependencies that I believe was introduced with MSBuild 15.9, and is also a problem with 16.0.
The following scenario causes the problem;
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
setSteps to reproduce
Build the attached project with
MSBuild.exe
ordotnet build
: GetTargetPathRepro.zipExpected behavior
The solution should compile without errors.
Actual behavior
The following error occurs:
Environment data
It repros with MSBuild 15.9.21.664 and 16.0.461.62831.
It also repros with .NET Core SDK 2.2.106 and 3.0.100-preview3-010431
I believe it worked fine before MSBuild 15.9, but I don't know an exact version.
The text was updated successfully, but these errors were encountered: