У меня есть проект, написанный с C#
поверх платформы ASP.NET MVC 5 с использованием Visual Studio 2017. Проект работает на платформе .NET 4.7.2.
Я пытаюсь использоватьnuget.exe
для создания пакета для моего проекта, чтобы я мог установить его в другие проекты.
У меня есть папка с именем resources
, которая содержит .js
и .css
файлы, которые я не хочувключить в мой пакет.Я хочу иметь возможность исключить всю папку resources
.Я также не хочу включать все мои представления, должны быть включены только представления в папке Views/Home
.
Как я могу исключить эти файлы из моего упакованного проекта?
Я пытался следовать документации , добавив исключение во все представления, а затем добавь желаемое.Следуйте моему текущему .nuspec
файлу, как вы можете видеть,
<?xml version="1.0"?>
<package >
<metadata>
<id>....</id>
<version>1.0.0</version>
<title>...</title>
<authors>...</authors>
<owners>...</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>...</description>
<releaseNotes></releaseNotes>
<copyright>2019</copyright>
<tags></tags>
</metadata>
<files>
<file src="**\*.*" exclude="**\*.designer.cs;**\*.csproj;**\*.pdb;**\*.user;**\*.vspscc;**\*.nuspec;libman.json;package.json;packages.config;Web.config;ApplicationInsights.config;public\**\*.*;Resource\**\*.*;bin\**\*.*;node_modules\**\*.*;obj\**\*.*;**\*.log;Views\**\*.*"/>
<file src="Views\Home\**\*.cshtml" />
</files>
</package>
ОБНОВЛЕНО
Я также попытался добавить те же правила в contentFiles
, вот так
<?xml version="1.0"?>
<package >
<metadata>
<id>....</id>
<version>1.0.0</version>
<title>...</title>
<authors>...</authors>
<owners>...</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>...</description>
<releaseNotes></releaseNotes>
<copyright>2019</copyright>
<tags></tags>
<contentFiles>
<files include="**\*.*" exclude="**\*.designer.cs;**\*.csproj;**\*.pdb;**\*.user;**\*.vspscc;**\*.nuspec;libman.json;package.json;packages.config;Web.config;ApplicationInsights.config;public\**\*.*;Resource\**\*.*;bin\**\*.*;node_modules\**\*.*;obj\**\*.*;**\*.log;Views\**\*.*"/>
<file include="Views\Home\**\*.cshtml" />
</contentFiles>
</metadata>
<files>
<file src="**\*.*" exclude="**\*.designer.cs;**\*.csproj;**\*.pdb;**\*.user;**\*.vspscc;**\*.nuspec;libman.json;package.json;packages.config;Web.config;ApplicationInsights.config;public\**\*.*;Resource\**\*.*;bin\**\*.*;node_modules\**\*.*;obj\**\*.*;**\*.log;Views\**\*.*"/>
<file src="Views\Home\**\*.cshtml" />
</files>
</package>
Однако ВСЕ представления все еще включаются при установке пакета в другом проекте.
Я упаковываю свой пакет с помощью следующей команды, где T:/
- это общий сетевой ресурс.
nuget pack -Prop Configuration=Release -OutputDirectory T:/