小编Ali*_*bar的帖子

为什么 $(SolutionDir) 在 dotnet CLI 中未定义?

我正在尝试从 构建我的项目dotnet CLI

我正在使用dotnet build,但失败了。

如何重现:

  1. 使用 Visual Studio 模板创建一个简单的控制台应用程序

  2. 将名为的文件添加Colors.txt到解决方案目录

  3. 添加一个名为的文件Names.txt到项目目录

  4. 修改csproj文件以包含post-build事件

    <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>netcoreapp3.1</TargetFramework>
    </PropertyGroup>
    
    <Target Name="CopySettingsToOutput" AfterTargets="PostBuildEvent">
        <Exec Command="copy $(ProjectDir)\Names.txt $(TargetDir)\Names.txt" />
        <Exec Command="copy $(SolutionDir)\Colors.txt $(TargetDir)\Colors.txt" />
    </Target>
    
    Run Code Online (Sandbox Code Playgroud)
  5. 现在使用 Visual Studio 进行构建(已构建)

  6. 现在使用dotnet build命令构建,但失败了。它说:

错误 MSB3073:命令“copy Undefined \Colors.txt C:\---path---\Colors.txt”退出,代码为 1。

为什么$(SolutionDir)使用时未定义dotnet build

.net-core dotnet-cli

4
推荐指数
1
解决办法
2071
查看次数

标签 统计

.net-core ×1

dotnet-cli ×1