我在一个解决方案下有两个项目。一个是 ASP.NET Web 应用程序项目,另一个是类库。 Web 应用程序项目是我的启动解决方案,它具有类库项目作为依赖项。
在类库项目中,我从内部 nuget 服务器添加了一些新包,以及这些包所需的一些依赖项。为了方便起见,我们假设有 NugetPackage1 和 NugetPackage2。 NugetPackage1 依赖于 NugetPackage2,但我不会在类库项目中的任何地方直接使用 NugetPackage2。
当我构建解决方案时,我在类库的 bin 文件夹中看到 NugetPackage1 和 NugetPackage2。但是,在我的网站项目的 bin 文件夹中,我仅看到 NugetPackage1。
我相当确定它会自动清理“未使用”的引用,因为当我直接在类库中使用 NugetPackage2 中的类并重建时,它会显示在我的网站 bin 中。对此我能做什么?
您的问题是您依赖构建但需要发布。您可以做的一件事是将以下内容添加到您的 ASP.NET 项目
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutDir>webOutput</OutDir>
</PropertyGroup>
您可能已经有了
PropertyGroup
,所以您只需添加 OutDir
构建完成后,您应该找到文件夹
_PublishedWebsites
,并且您的 DLL 应该位于该文件夹中或直接位于 webOutput
中。在这种情况下,您可以添加构建后事件将其复制到_PublishedWebsites
最重要的是,要将所有必需的 DLL 收集到 bin 中,您需要发布而不是构建。