在Visual Studio 2015 Update 3中,我基于public static void main(String[] args) {
Scanner perfect = new Scanner(System.in);
System.out.print("Enter any integer number : ");
int n = perfect.nextInt();
List<Integer> factors = getPerfectFactors(n);
if (factors != null) {
System.out.println
(n + " is a perfect number. It's the sum of" +
factors.stream()
.map(String::valueOf)
.collect(Collectors.joining(", "));
} else {
System.out.println(n+" is not a perfect number");
}
}
public static List<Ingeger> getPerfectFactors(int n) {
int sum = 0;
List<Ingeger> factors = new LinkedList<>();
for (int i = 1; i < n; i++) {
if (n % i == 0) {
sum += i;
factors.add(i);
}
if (sum > n) { // Early return optimization, not material to the solution
return null;
}
}
if (sum == n) {
return factors;
} else {
return null;
}
}
和包含我的域模型的.net类库项目创建了一个ASP.NET Core
项目。
然后我创建了一个单元测试项目(带Full .NET Framework
),以便测试我的控制器和我的域对象。这是目录结构:
ms-test
我可以通过使用测试项目下的References项来引用asp.net核心Web项目作为依赖项。
问题是来自asp.net核心项目的类型在Test项目中不可用(找不到类型或命名空间名称错误)。
我在stackoverflow中找到了以下问题:How to reference an ASP.NET 5 project from another project? 但它不是很有帮助;在测试项目中创建引用Web项目的project.json文件无法解析类型。
我应该创建一个单独的.Net核心测试项目来测试asp.net核心项目吗?
更新 这是WebProj的project.json文件:
Proj
|-src
|-WebProj
|-DomainProj
|-TestProj
答案 0 :(得分:4)
您的单元测试项目是csproj
,您的网络应用程序可能是xproj
。很遗憾,您无法直接引用xproj
中的csproj
。有一个document in the dotnet/corefx Github repo解释了如何将您的Web应用程序转换为csproj。
相关问题: