I finally (mostly) solved this. I started with the suggested .csproj file in the documentation and found several issues and made the following changes.
From:
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
To:
<CopyLocalLockFileAssemblies>false</CopyLocalLockFileAssemblies>
From:
<ItemGroup>
<ProjectReference Include="..\..\Presentation\Nop.Web.Framework\Nop.Web.Framework.csproj" />
</ItemGroup>
To:
<ItemGroup>
<ProjectReference Include="..\..\Presentation\Nop.Web.Framework\Nop.Web.Framework.csproj" />
<ProjectReference Include="..\..\Presentation\Nop.Web\Nop.Web.csproj" />
<ClearPluginAssemblies Include="$(MSBuildProjectDirectory)\..\..\Build\ClearPluginAssemblies.proj" />
</ItemGroup>
From:
<MSBuild Projects="@(ClearPluginAssemblies)" Properties="PluginPath=$(MSBuildProjectDirectory)\ $(OutDir)" Targets="NopClear" />
To:
<MSBuild Projects="@(ClearPluginAssemblies)" Properties="PluginPath=$(MSBuildProjectDirectory)\$(OutDir)" Targets="NopClear" />
The last change is subtle; I removed the space between "\" and "$".
These changes did solve everything. I was still left with the following folders in the output directory, which I manually deleted.
App_Data
Areas
Plugins
Properties
Themes
There is an active thread discussing this last issue:
https://www.nopcommerce.com/boards/topic/73910/plugin-output-directory-pulling-in-nopweb-directories#