我正在使用Octopack / Nuspec文件来构建我的nuget包。
我想排除项目中存在的某些文件夹。例如“obj”文件。我一直试图让排除标签工作,但没有任何运气。 nuget文件构建,但文件夹仍在那里。
可悲的是,网络特定文件类型的所有示例都没有文件夹。
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>Foo</id>
<title>Foo</title>
<version>$version$</version>
<authors>NA</authors>
<owners>NA</owners>
<licenseUrl>http://Foo</licenseUrl>
<projectUrl>http://Foo</projectUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Foo</description>
<releaseNotes>NA</releaseNotes>
</metadata>
<files>
<file src="obj\**\*.*" exclude="*.*" />
</files>
</package>
答案 0 :(得分:21)
我需要创建一个WebApplicatoin,但是使用“CodeFile”属性将其部署为标准的ASP.NET网站。
这基本上是为了更新标准ADFS登录站点中的页面。
<files>
<file src="**" exclude="**\*.dll;**\*.designer.cs;**\*.csproj;**\*.pdb;**\*.user;**\*.vspscc;bin\*.cs;bin\*.aspx;bin\*.config;bin\*.asax;bin\*.pubxml" />
</files>
答案 1 :(得分:10)
要直接回答海报问题,如果您只想从Nuget包中排除 obj 文件夹,请在您的nuspec xml中使用以下内容
<files>
<file src="*\**" target="\" exclude="obj\**\*.*"/>
</files>
答案 2 :(得分:1)
根据您正在构建的项目,您不需要排除任何内容。
如果您正在构建Windows服务/控制台应用程序,OctoPack应该只打包您的bin\release
目录。
如果要构建Web应用程序,则应使用“发布”命令让MSBuild将二进制文件和内容文件发送到临时文件夹,OctoPack将打包它。这样,您的obj
文件夹和C#文件将不会打包。
有关如何执行此操作的信息,请参阅Web应用程序发布部分: