我有一个没什么特别的.NET核心解决方案,可以叫它Application.sln
,它包含12个C#项目和1个SQL项目。在Visual Studio 2017中,我没有构建所有项目的问题,但是当我前往命令行打包使用dotnet pack Application.sln --no-build
的项目时,我立即遇到了sql项目的问题。以下是错误:如何使用dotnet(.NET Core)打包包含sql项目的sln文件?
error MSB4019: The imported project "C:\Program Files\dotnet\sdk\1.1.0\Microsoft\VisualStudio\v14.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk
破译那之后,我发现,第一部分,C:\Program Files\dotnet\sdk\1.1.0
使用DOTNET代替的MSBuild打包了解决方案来自我,因为SSDT不能被安装到DOTNET文件夹,这将失败。
最好,我希望它忽略.sqlproj项目,只打包.csproj项目,因为我将在以后单独处理sql项目,但我没有看到任何方式来做到这一点。有没有办法?看起来我不能使用MSBuild样式通配符作为dotnet pack
(***。csproj)的参数,因为这会引发单独的错误。
我已经尝试使用msbuild/t:pack,但这给了我其他问题(它表示目标“包”不存在于项目中)。
有没有人对我有任何建议?如果有帮助,我想通过TeamCity来做到这一点,但所有这些问题也存在于我的开发机器上。
你可以卸载SQL项目吗? – Prajwal
我可以,但最终目标是在CI环境中运行,这不是一个可行的解决方案,我不这么认为。 –