![](/img/trans.png)
[英]Visual Studio incorrectly referencing assembly from nuget package /build directory
[英]Visual Studio incorrectly packs wwwroot in NuGet package
我目前正在使用带有project.json
格式的*.xproj
升级到*.csproj
文件格式,利用较新的Visual Studio 2017工具。 以下是IDE和SDK / .NET Core CLI的版本:
Microsoft Visual Studio Community 2017
Version 15.4.3
VisualStudio.15.Release/15.4.3+27004.2008
Microsoft .NET Framework
Version 4.7.02558
.NET Command Line Tools (2.0.2)
Product Information:
Version: 2.0.2
Commit SHA-1 hash: a04b4bf512
Runtime Environment:
OS Name: Windows
OS Version: 6.3.9600
OS Platform: Windows
RID: win81-x64
Base Path: C:\Program Files\dotnet\sdk\2.0.2\
Microsoft .NET Core Shared Framework Host
Version : 2.0.0
Build : e8b8861ac7faf042c87a5c2f9f2d04c98b69f28d
话虽如此,我很好奇如何从不依赖.nuspec
创建的NuGet包中排除wwwroot
。 这可能吗?
.csproj
这是我的.csproj
:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<!-- omitted for brevity -->
</PropertyGroup>
<ItemGroup>
<Compile Remove="wwwroot\**\*;node_modules" />
<EmbeddedResource Include="Views\**" Exclude="bin\**;obj\**;**\*.xproj;packages\**;@(EmbeddedResource)" />
<None Update="NLog.config">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<PackagePath>lib/net461/</PackagePath>
<Pack>true</Pack>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</None>
<None Update="wwwroot\**\*">
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</None>
</ItemGroup>
<ItemGroup>
<!-- package references, omitted for brevity -->
</ItemGroup>
</Project>
这是包装内容的图像:
理想情况下,我希望内容类似于排除content
和contentFiles
位,而只是与.exe
的lib
。
您可以修改项目文件中的内容项,以便仅为wwwroot文件夹或所有内容项将Pack
元数据设置为false
:
<ItemGroup>
<!-- only exclude wwwroot items from package -->
<Content Update="wwwroot/**" Pack="false" />
<!-- Exclude all content from package (e.g. appsettings.json) -->
<Content Update="@(Content)" Pack="false" />
</ItemGroup>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.