You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am trying to utilize the newest feature Simplified Artifacts Output. I want to exclude the project name from the path as to make it a more simplified structure. The issue is that when I do so and my solution contains a project that is multi-targeted it fails to add Multi-Targeted project frameworks to project.assets.json.
Error
src\Artifacts\obj\project.assets.json' doesn't have a target for 'netstandard2.0'. Ensure that restore has run and that you have included 'netstandard2.0' in the TargetFrameworks for your project.
Is the best workaround to try to set ProjectAssetsFile to a unique directory per project/TFM and would that actually work? I'm not sure that's been tested.
We are hoping to get a folder with all build artifacts into one folder. We run tests in an Azure Hosted Agent but there is only so much space. With transitive dependencies throughout we are running into a space issue when downloading build artifacts for running tests. If I can accomplish this I am able to shrink the artifacts folder to more then half the size. We have another solution that would also benefit greatly from a centralized output directory. In theory it should help speed up the build process as well.
You can't use the same intermediate output path for multiple projects, because there needs to be a separate project.assets.json file for each project. Ideally, the name of the assets file would be different for each project (see this issue), but I think that's not likely to change.
You can use the same output path for multiple projects, but there are various issues you have to watch out for. Each different project will be trying to write its dependencies to the same folder, so shared dependencies will git written multiple times, and you might hit file copy errors if projects are being built in parallel. You also probably need to make sure that all of the projects use the same versions of their dependencies, otherwise the version of a dependency that's copied will depend on which project happened to be built last.
Since you would need to customize the output paths yourself, I'm not sure if the artifacts output layout setting would help you much in this case.
Description
I am trying to utilize the newest feature Simplified Artifacts Output. I want to exclude the project name from the path as to make it a more simplified structure. The issue is that when I do so and my solution contains a project that is multi-targeted it fails to add Multi-Targeted project frameworks to
project.assets.json
.Error
src\Artifacts\obj\project.assets.json' doesn't have a target for 'netstandard2.0'. Ensure that restore has run and that you have included 'netstandard2.0' in the TargetFrameworks for your project.
obj
folder structurehttps://learn.microsoft.com/en-us/dotnet/core/sdk/artifacts-output
Reproduction Steps
Directory.Build.props
Configuration
The text was updated successfully, but these errors were encountered: