Cake build-带PackageReferences的NugetRestore
我有一个Visual Studio 2017解决方案,其中包含.NET标准、.NET核心和.NET框架项目。我的.NET Framework 4.6.2项目正在.csproj文件中使用PackageReferences,而不是packages.config 这似乎是指定NuGet软件包的新方法,并将允许将来迁移到.NET标准2.0(我希望如此)。 csproj:Cake build-带PackageReferences的NugetRestore,nuget,cakebuild,Nuget,Cakebuild,我有一个Visual Studio 2017解决方案,其中包含.NET标准、.NET核心和.NET框架项目。我的.NET Framework 4.6.2项目正在.csproj文件中使用PackageReferences,而不是packages.config 这似乎是指定NuGet软件包的新方法,并将允许将来迁移到.NET标准2.0(我希望如此)。 csproj: <ItemGroup> <PackageReference Include="LanguageExt.Co
<ItemGroup>
<PackageReference Include="LanguageExt.Core">
<Version>2.1.1</Version>
</PackageReference>
<PackageReference Include="Microsoft.SqlServer.Dac">
<Version>1.0.3</Version>
cake build是否支持这些较新的“PackageReference”
以下是我的蛋糕脚本中的一段:
// NuGet restore packages for .NET Framework projects (and .NET Core projects)
Task("NuGet-Restore")
.IsDependentOn("Clean")
.Does(() =>
{
NuGetRestore(solutionFile);
});
// NuGet restore packages for .NET Core projects only
Task("DotNetCoreRestore")
.IsDependentOn("NuGet-Restore")
.Does(() =>
{
var settings = new DotNetCoreRestoreSettings
{
ArgumentCustomization = args => args.Append("/p:Version=" + versionPrefix + "-" + versionSuffix)
};
DotNetCoreRestore(settings);
});
// Build our solution
Task("Build")
.IsDependentOn("DotNetCoreRestore")
.Does(() =>
{
DotNetCoreBuild(
solutionFile,
new DotNetCoreBuildSettings()
{
ArgumentCustomization = args => args.Append("/p:Version=" + versionPrefix + "-" + versionSuffix),
Configuration = configuration
});
});
你用的是什么版本的蛋糕?Net核心别名最近进行了更新,以反映API表面的一些更改。如果尝试以下操作,会发生什么情况:
var settings = new DotNetCoreRestoreSettings
{
ArgumentCustomization = args => args.Append("/p:Version=" + versionPrefix + "-" + versionSuffix)
};
DotNetCoreRestore(solutionFile, settings);
i、 e.包括解决方案文件的路径
根据这个例子:
我下载了你的回购协议,并将其建立起来。使用下面的生成定义。它在Visual Studio中工作的原因是它使用MSBuild和Nuget.exe。不要在NET Framework上调用DotNetCoreX命令
Task("Build")
.IsDependentOn("NuGet-Restore")
.Does(() => {
MSBuild(solutionFile);
});
是的,他们是,你能分享你如何用你的cake脚本进行恢复和构建吗?@devlead更新。我在cake 0.19.4上。刚刚用最新版本的Cake 0.21.1尝试了你的建议,我得到了同样的错误。如果我将项目转换为使用packages.config而不是packagesreferences,它会正常工作,这是公共回购协议吗?i、 我们可以看一下吗?这里有一个回购的例子:。运行。\build.ps1,它将失败
Task("Build")
.IsDependentOn("NuGet-Restore")
.Does(() => {
MSBuild(solutionFile);
});