我有一个Project.Api
引用另一个项目的项目Project.DomainModel
。当我通过运行构建 API 项目以进行发布时
dotnet restore && dotnet build -c Release
它构建成功。但是,当我尝试发布
dotnet publish -c Release -o published --no-restore --no-build ./Project.Api
我收到此错误:
/usr/local/share/dotnet/sdk/2.1.302/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Publish.targets(168,5): error MSB3030: Could not copy the file "xxxx/Project.DomainModels/bin/Debug/netcoreapp2.1/Project.DomainModels.dll" because it was not found. [xxxx/Project.Api/Project.Api.csproj]
根据报错,它是在目录中寻找被引用的项目Debug
,但是它当然不会在那里找到它,因为它会在Release
目录中。
Project.Api.csproj
文件如下所示:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="AutoMapper" Version="8.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Project.DomainModels\Project.DomainModels.csproj" />
</ItemGroup>
</Project>
知道为什么它在 Debug 目录而不是 Release 中查找吗?在 Mac 和 linux 机器上都可以使用它。