我是一名能翻译文本的有用助手。
我有一个.core解决方案,其中一些项目需要被包含,据我所知,在.core中使用Nuget是惯例。对于这些项目,我在属性->Package下勾选了“在构建时生成包”的复选框。问题是Nuget包被放置在\bin\Debug\...下。是否有一种定义覆盖属性的方法,使其可以放到其他地方?
我已经尝试在nuget.config中添加:
<configuration>
<config>
<add key="repositorypath" value="some path" />
</config>
</configuration>
无济于事。我也尝试在.csproj文件中输入:
<PropertyGroup>
<TargetFramework>netcoreapp1.1</TargetFramework>
<PreBuildEvent></PreBuildEvent>
<PostBuildEvent></PostBuildEvent>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
<PackageOutputDir> some path </PackageOutputDir>
</PropertyGroup>
我曾尝试使用OnPostBuild从一个位置复制文件到另一个位置,但Package命令似乎在PostBuild之后被触发...另一个问题是宏中使用的参数在运行时不是由系统设置的,它们只是空字符串。
我也尝试从命令提示符中运行,因为在Visual Studio 2017中使用.core和Nuget感觉非常不稳定。当从命令提示符中运行(nuget pack)时,我得到的信息不具有信息性,如:“无法将类型System.String转换为类型NuGet.Frameworks.NuGetFramework”
我应该怎么做才能将所有nuget包放在另一个目录而不是默认设置Visual Studio 2017正在使用的目录中...我可以以某种方式覆盖此设置吗?
谢谢!
或
msbuild.exe /t:pack`。 - Scott Chamberlain