我可以在没有安装 Visual Studio 的情况下在 Windows 服务器上构建 .NET Core 应用程序吗?
Posted
技术标签:
【中文标题】我可以在没有安装 Visual Studio 的情况下在 Windows 服务器上构建 .NET Core 应用程序吗?【英文标题】:Can I build .NET Core applications on a Windows server without Visual Studio installed? 【发布时间】:2016-08-04 17:13:05 【问题描述】:我正在尝试在 Windows 上设置一个持续集成服务器,该服务器构建 .net 核心应用程序,仅从 .net 核心下载站点安装 .net 核心 SDK,而不安装 Visual Studio。
我尝试构建时遇到的错误是:
C:\dev\aaa.xproj(7,3): error MSB4019: The imported project
"C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0
\DNX\Microsoft.DNX.Props" was not found
我在谷歌上搜索并发现了有关早期测试版中此类错误的投诉,但我认为独立的 .net 核心工具应该仅适用于 Visual Studio 代码(或实际上任何编辑器)并且未安装 Visual Studio,只是.net core standalone sdk。
有什么技术可以让它发挥作用吗?有趣的是,当我从解决方案根目录运行 dotnet build 时,发生了上述错误,如下所示:
msbuild /v:q /t:Build /nologo /P:Configuration=Release MySolutionWithSevenProjectsInIt.sln
以上似乎需要安装 Visual Studio 来构建整个解决方案,所以我猜我是否需要“解决方案构建”步骤而不是单个项目构建步骤,我需要 Visual Studio?
奇怪的是,这个系统安装了 msbuild,这台计算机只有 .net core sdk 和一个“不工作”(如上)的 msbuild。
【问题讨论】:
我认为如果你想在没有安装 Visual Studio 的情况下构建你应该使用 dotnet 和它的命令 docs.microsoft.com/en-us/dotnet/articles/core/tools/…,因为 dotnet cli 工具应该可以在没有*.sln/*.csproj/*.xproj
的情况下工作文件,仅基于 project.json
有趣。即使在没有安装 VS 的机器上使用 dotnet 构建时,也会出现一些疯狂的警告。它期望存在完整的 C/C++ 库,如 MFC 等。
检查这个 - ***.com/questions/34580599/…
【参考方案1】:
是的,您可以在没有安装 Visual Studio 的情况下在 Windows、Mac 和 Linux 上构建 .NET Core 应用程序。
您需要为您的平台安装.NET SDK。仔细检查您是否拥有最新版本:
dotnet --version
5.0.401
然后,进入您的项目目录(包含您的.csproj
文件或.sln
文件的文件夹)并运行:
dotnet build
或者,以发布模式构建:
dotnet build -c Release
【讨论】:
并且不要尝试使用他们为您安装的 MSBUILD。 :-) 是的。我认为当他们回到带有 .net 核心的 msbuild 时,这将需要更新。不知道这将如何工作。我猜“dotnet build”会调用 msbuild。 我也在使用 mac 系统,当我运行 dotnet build 时出现如下错误,........visual studio/v15.0/Webapplications/microsoft.webaapplication。 traget" 没有犯规。确认The type or namespace name 'log4net' could not be found (are you missing a using directive or an assembly reference?)
以上是关于我可以在没有安装 Visual Studio 的情况下在 Windows 服务器上构建 .NET Core 应用程序吗?的主要内容,如果未能解决你的问题,请参考以下文章
我可以在没有安装 Visual Studio 的情况下在 Windows 服务器上构建 .NET Core 应用程序吗?
visual studio 2008 安装过程中出现1330错误
在没有 Visual Studio 的情况下使用 C++ 安装 Opencv