-
Notifications
You must be signed in to change notification settings - Fork 132
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
VMR repositories should receive configuration properties like OS, Arch and RID and respect them #4784
Comments
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label. |
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label. |
I wonder if overriding |
I don't think this is the case for all repos. I think this is only for repos that depend on the live runtime AND produce rid specific assets. Roslyn is not in this category, for instance, and should not be. The assets it produces (including an exes) are not rid specific. |
The apphost which is included for This is really easy to reproduce locally. Just create a OK, now bear with me with a pretty verbose description of what's going on: Note that this isn't a VMR specific problem. There's a mismatch whenever the host RID is different from the target RID. In GNU configure terms this is called a In that configuration you download For the VMR we definitely care about this problem as a win-x86 vertical should depend on As an example, take the Microsoft.DotNet.Tar project which sets This is often not a problem at consumption time as we usually don't use an app's apphost directly and invoke the executable with the cc @baronfel @richlander to fact check me here |
The XUnitConsoleRunner package is an example of an apphost being included that targets the host RID instead of the target RID: https://dnceng.visualstudio.com/public/_artifacts/feed/dotnet-eng/NuGet/Microsoft.DotNet.XUnitConsoleRunner/overview/2.9.2-beta.24602.4 You could argue that the package is incorrectly authored and shouldn't include the apphost or instead just use the PackAsTool functionality - this is just an example and I bet that's not the only one in our stack. |
Got it, that makes sense. If you set |
The |
The .NET SDK targets a specific RID, i.e.
win-x64
. When that SDK is being used in a vertical that should producewin-x86
assets, the wrong assets are restored.Any component that restores RID specific assets needs to know the RID that the VMR is building for. That means any project that sets
<OutputType>Exe</OutputType>
or similarly WinExe, SelfContained, publishes, etc. RID specific assets are apphost packs, runtime packs and many more.We need to the following things:
TargetOS
,TargetArchitecture
andTargetRuntimeIdentifier
might be enough.Arcade SDK:
There are probably more properties that should be set that control what RID to use for restoring packs. @dsplaisted do we have a list of those?
The text was updated successfully, but these errors were encountered: