我们尝试使用 .NET Framework 4.6.1 使用命令提示符构建 .NET Standard Library 1.4 项目,而无需在 Windows Server 2012 RC2 中使用 Visual Studio,以实现自动化目的。
我已经在服务器上安装了以下内容,
.Net Framework 4.6.1
.Net Framework 4.6.1 Targeting pack
Microsoft Build Tools 2015
此 .NET 标准库项目表示 ProjectA 被另外两个 .NET 标准库项目 ProjectB 和 ProjectC 引用。
将项目 A 保留为启动项目
当我在 dotnet Restore 之后尝试使用 dotnet build cmd 编译 ProjectA 时,出现以下错误,
C:\Document\ProjectA>dotnet build
Project ProjectA (.NETStandard,Version=v1.4) will be compiled because
expected outputs are missing
Compiling ProjectA for .NETStandard,Version=v1.4
C:\Program Files\dotnet\dotnet.exe compile-csc
@C:\Document\ProjectA\obj\Debug\netstandard1.4\dotnet-compile.rsp returned
Exit Code 1
C:\Document\ProjectA\Sample.cs(1,17): error CS0234: The type or namespace name
'ProjectB' does not exist in the namespace 'XYZ' (are you missing an
assembly reference?)
C:\Document\ProjectA\Sample.cs(2,17): error CS0234: The type or namespace name
'ProjectC' does not exist in the namespace 'XYZ' (are you missing an
assembly reference?)
Compilation failed.
0 Warning(s)
2 Error(s)
请帮助我从命令提示符编译解决方案。 示例代码:
using XYZ.ProjectB;
using XYZ.ProjectC;
using System;
namespace XYZ.ProjectA
{
public class Sample : ISample
{
public Void GetMessage()
{
var s=XYZ.ProjectB.GetList();
Console.Write("");
}
}
}
ProjectB 和 Project C 也是 .Netstandard Lib
最佳答案
我通过使用MSBuild构建项目成功解决了上述情况
正如我之前提到的,在服务器中安装以下框架后,
1. .Net Framework 4.6.1
2. .Net Framework 4.6.1 Targeting pack
3. Microsoft Build Tools 201
我正在尝试从未安装 Visual Studio 的服务器构建针对 .NET Standard 的可移植项目,我设法将以下文件和文件夹从安装了 Visual Studio 的计算机复制到我的构建服务器。
- C:\Program Files (x86)\Microsoft SDKs\Portable\v14.0
- C:\Program Files (x86)\MSBuild\Microsoft\Portable
- C:\Program Files (x86)\ReferenceAssemblies\Microsoft\Framework.NETPortable
- C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet
并在服务器上安装了Microsoft .NET Portable Library Reference Assemblies 4.6
。
然后调用 MsBuild 的版本来构建您的解决方案,
C:\Program Files (x86)\MSBuild\14.0\Bin\MsBuild.exe MySolution.sln
上述步骤帮助我构建了 .NET 标准库项目,而无需在构建服务器上安装 Visual Studio。
希望以上信息对大家有所帮助!
关于c# - 使用 .NET Framework 4.6.1 构建 .NET 标准库 1.4,无需 Visual Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45103386/