Add proposal for apps resolving a deployed shared set of dependencies#371
Add proposal for apps resolving a deployed shared set of dependencies#371elinor-fung wants to merge 2 commits into
Conversation
| - The host merges each shared set's `deps.json` into the app's dependencies at startup. The shared set is treated as part of the app, so it resolves with the same priority as assets directly in the app's `deps.json` (that is, before frameworks). This is similar to an [additional `deps.json` via `--additional-deps`/`DOTNET_ADDITIONAL_DEPS`](https://github.com/dotnet/runtime/blob/main/docs/design/features/additional-deps.md). | ||
| - The assets in a shared set's `deps.json` are resolved relative to that `deps.json`'s folder (`/opt/AppSuite.Shared/` in the above example). The presence of `sharedDependencies` does not trigger file existence checks at startup. This differs from `--additional-deps`/`DOTNET_ADDITIONAL_DEPS`, which resolves an additional deps file's assets relative to the app directory and enables those file existence checks. | ||
|
|
||
| ### Developer experience |
There was a problem hiding this comment.
I just kind of put something that somewhat made sense to me here. Happy to pull in whatever experience others folks think makes more sense.
|
CC @nkolev92 @aortiz-msft as the External feature from NuGet fits with this feature. |
| <!-- SharedDependencyLocation metadata (no copy-local + emits the entry) --> | ||
| <ItemGroup> | ||
| <ProjectReference Include="../AppSuite.Shared/AppSuite.Shared.csproj" | ||
| SharedDependencyLocation="/opt/AppSuite.Shared/" /> |
There was a problem hiding this comment.
If we had External=True from nuget, would I assume you wouldn't use SharedDependencyLocation on any packagereference?
There was a problem hiding this comment.
That seems like it would fit. What is the mechanism for run time resolution for External=True? Is there a doc around that feature we can link to?
There was a problem hiding this comment.
I asked @nkolev92 offline if he could add more details and share any specs they might have with you. We should update this design to include an example using that new feature once we have the details.
cc @baronfel @dsplaisted @ericstj @marcpopMSFT @richlander