2017-08-02 110 views
1

我有一个.core解决方案,其中需要包含一些项目,并且据我了解,praxis使用Nuc核心.core。对于我在属性 - >软件包中选中的项目“在生成时生成软件包”。问题是nuget-package放在\ bin \ Debug \下面有没有一种方法来定义一个重写属性,这样它可以放在其他地方?Nuget Pack命令,在Visual Studio 2017中

我试图把在nuget.config:

<configuration> 
    <config> 
    <add key="repositorypath" value="some path" /> 
    </config> 
</configuration> 

没有运气。我也试图在PU .csproj的:

<PropertyGroup> 
     <TargetFramework>netcoreapp1.1</TargetFramework> 
     <PreBuildEvent></PreBuildEvent> 
     <PostBuildEvent></PostBuildEvent> 
     <GeneratePackageOnBuild>True</GeneratePackageOnBuild> 
     <PackageOutputDir> some path </PackageOutputDir> 
    </PropertyGroup> 

我曾尝试使用OnPostBuild从其位置复制到另一个文件,但包命令似乎postbuild后触发...另一个问题是,在使用的参数宏不是由系统设置的,它们在运行时只是emty字符串。

我也尝试从命令promt运行,因为它感觉如此错误在Visual Studio 2017与.core和Nuget。从命令Promt(nuget pack)运行时,我得到非信息性信息如下:“无法将System.String类型的对象转换为类型NuGet.Frameworks.NuGetFramework”

我该怎么做才能将所有的nuget包放入Visual Studio 2017正在使用的默认设置之外的另一个目录...我可以以某种方式覆盖此设置吗?

谢谢!

+1

NuGet.exe [不与新样式的csproj文件的工作(https://github.com/NuGet/Home/issues/4491),您必须使用'dotnet pack'或'msbuild.exe/t:pack' –

+2

您应该在.csproj中使用“PackageOutputPath”而不是“PackageOutputDir”。你不能通过构建事件来做到这一点。因为包组件包的目标落后于构建任务。但您可以在项目文件中的此目标“GenerateNuspec”后添加一个自定义副本任务:

回答

2

你可以通过设置这个<PropertyGroup>内覆盖包输出目录:

<PackageOutputPath>..\some-folder</PackageOutputPath> 
+0

感谢您的帮助,Martin和Leos关于更改“魔术字符串”的提示帮助我:) – user3154653

相关问题