Skip to content

Tools: Current Directory is wrong for .NET Core projects #7588

@bricelam

Description

@bricelam

The tools explicitly set the current directory to the output directory (e.g. bin\Debug) to match the behavior of classic csproj. However, the .NET Core Console App and ASP.NET Core Web Application projects use the project directory.

They do this primarily to support this line in the templates: .UseContentRoot(Directory.GetCurrentDirectory()) This allows them to use the project directory during development and the publish directory when deployed.

This line is in Program.Main(), and the tools bypass it by injecting the correct context root into Startup. However, anything else that depends on the current directory (e.g. relative paths) will be wrong.

This also caused us to provide a special environment variable ADONET_DATA_DIR on .NET Core which could go away if we fix this.

Metadata

Metadata

Assignees

Type

No fields configured for Bug.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions