相关疑难解决方法(0)

在nuget包中将内容文件设置为"copy local:always"

我在后期构建事件中使用此命令从项目生成nuget包.变量%conf%设置为正确的配置(调试或发布),并且%1是项目名称(例如"MyCompany.MyProject").

nuget pack -Prop Configuration=%conf% "%1.csproj" -exclude *.sql -IncludeReferencedProjects
Run Code Online (Sandbox Code Playgroud)

此软件包仅供我们自己使用,永远不会在nuget上发布.它以我们的私有存储库结束.

在项目中,有一个设置为generate action : content和的文件copy local : always.(我的视觉工作室是法语,所以我不是百分之百地确定了它的变形).我们来命名吧importantfile.xml.

在生成的包中,我最终得到了这个结构:

- content
    - importantfile.xml
- lib
    -net45 (.NetFramework,Version=v4.5)
        -MyCompany.MyProject.dll
Run Code Online (Sandbox Code Playgroud)

哪个好,我想importantfile.xml部署在包中,因为,这个文件很重要!

当我在另一个项目中安装软件包时,importantfile.xml将部署在项目的根目录下.没关系.但事实并非如此copy local : always.

我需要的importantfile.xmlcopy local : always在这个项目中,我安装我的包.

我怎样才能做到这一点?

备注:

可以copy local : always在安装软件包后立即设置文件,这没什么大不了的.如果以后更新软件包会让这个属性按原样,我会忍受它,但事实并非如此.当更新包,copy local被重置了以never(为说明这里).

项目文件夹中有一个nuspec文件,这里是:

<?xml version="1.0"?>
<package >
  <metadata>
    <id>$id$</id>
    <version>$version$</version> …
Run Code Online (Sandbox Code Playgroud)

copy-local visual-studio nuget nuget-package visual-studio-2012

65
推荐指数
4
解决办法
3万
查看次数

防止在NuGet content和contentFiles文件夹中重复文件

我的NuGet软件包需要传递一些相当大的文件来构建输出目录。

在旧的NuGet模型中,此类文件必须存储在的content文件夹中.nupkg在NuGet 3.3中引入新模型中,此类文件必须存储在contentFilesfolder中

为了与旧版本的NuGet以及主要与Package.config软件包管理格式保持兼容性,我需要将文件复制到两个文件夹中。不幸的是,这几乎使包装的尺寸增加了一倍。

有办法防止这种情况吗?我可以以某种方式链接contentFilescontent文件夹吗?

visual-studio nuget nuget-package

5
推荐指数
2
解决办法
1646
查看次数