我想知道是否有任何启发式设置copy-local=true的引用? 如果引用types只在内部使用,我可以将copy-local设置为true但是如果引用types作为参数或返回值公开,则将copy-local设置为false并指示当我的库应该引用时,应引用特定版本的依赖项用过的? 任何人都可以为我澄清这一点?
TL; DR是否有任何官方文档详细描述了如何在MSBuild中使用<private> /“Copy Local”选项? 那么应该考虑什么样的价值呢? 当您将项目引用从Visual Studio中的一个项目添加到另一个项目时,它将向.csproj MSBuild文件添加<ProjectReference Include="…..csproj"> 。 当您将文件引用从Visual Studio中的一个项目添加到文件系统中的程序集文件时,它将添加<Reference Include="Foo"> <HintPath>….Foo.dll</HintPath> …到.csproj MSBuild文件。 在这两种情况下,对于Visual Studio设置Copy Local = True|False ,将添加子元素<Private>True</Private>或<Private>False</Private> 。 Reference和ProjectReference似乎被logging在Common MSBuild项目项下 : <ProjectReference> Represents a reference to another project. Item Name Description ————————- Name … Project … Package … <Reference> Represents an assembly (managed) reference in the project. Item Name Description […]
我在生成后事件中使用此命令从项目生成nuget包。 variables%conf%被设置为正确的configuration(debugging或释放), %1是项目名称(例如“MyCompany.MyProject”)。 nuget pack -Prop Configuration=%conf% "%1.csproj" -exclude *.sql -IncludeReferencedProjects 这个软件包仅供我们自己使用,不会在nuget上发布。 它结束于我们的私人存储库。 在项目中,有一个文件设置为generate action : content和copy local : always 。 (我的视觉工作室是法语的,所以我不是百分百肯定的传播)。 我们把它命名为importantfile.xml 。 在生成的包中,我最终得到这个结构: – content – importantfile.xml – lib -net45 (.NetFramework,Version=v4.5) -MyCompany.MyProject.dll 这很好,我希望在包中部署importantfile.xml ,因为这个文件很重要! 当我在另一个项目中安装软件包时, importantfile.xml部署在项目的根目录下。 没关系。 但是它并没有设置为copy local : always 。 我需要importantfile.xml来copy local : always在我安装我的包的这个项目。 我怎样才能做到这一点? 备注: 我可以设置copy local : always安装包后, copy […]