我有一个 .NET Standard 项目,其中实现了一个用于 ASP.NET Core CMS 框架的模块。目前,它使用来自 NuGet 包的 CMS 框架库。如果我从 GitHub 获取 CMS 框架的源代码并将我的模块添加到其解决方案中,并将包引用替换为实际项目引用,则它将正常工作。
我的目标是使其在不更新 csproj 文件中的引用的情况下工作,因此,如果将项目添加到完整的源代码解决方案中,则使用项目引用,否则使用 NuGet 包引用。
所以假设 .NET Standard 项目称为 'ModuleA'。它对 'ModuleB' 有一个包引用:
我希望能够以某种方式在.csproj文件中同时包含它们,并在构建时使用正确的引用(例如,基于某些条件,如项目是否存在?)。
如果将两者都添加到csproj中,则构建将失败(例如,“无法找到项目...ModuleB.csproj。请检查项目引用是否有效并且项目文件是否存在。”)。
我的目标是使其在不更新 csproj 文件中的引用的情况下工作,因此,如果将项目添加到完整的源代码解决方案中,则使用项目引用,否则使用 NuGet 包引用。
所以假设 .NET Standard 项目称为 'ModuleA'。它对 'ModuleB' 有一个包引用:
<ItemGroup>
<PackageReference Include="ModuleB" Version="1.0.0" />
</ItemGroup>
当我想在一个可以访问ModuleB的解决方案中使用ModuleA时,我会使用项目引用:
<ItemGroup>
<ProjectReference Include="..\..\ModuleB\ModuleB.csproj" />
</ItemGroup>
我希望能够以某种方式在.csproj文件中同时包含它们,并在构建时使用正确的引用(例如,基于某些条件,如项目是否存在?)。
如果将两者都添加到csproj中,则构建将失败(例如,“无法找到项目...ModuleB.csproj。请检查项目引用是否有效并且项目文件是否存在。”)。