C# 无法以编程方式使用MSBuild生成项目
我正在尝试以编程方式(使用名称空间Microsoft.Build.Evaluation)将Visual Studio.csproj与MSBuild打包。 我可以用如下命令正确打包此项目C# 无法以编程方式使用MSBuild生成项目,c#,visual-studio-2010,msbuild,target,targets,C#,Visual Studio 2010,Msbuild,Target,Targets,我正在尝试以编程方式(使用名称空间Microsoft.Build.Evaluation)将Visual Studio.csproj与MSBuild打包。 我可以用如下命令正确打包此项目 MSBuild "C:\Users\Documents\Visual Studio 2010\Projects\TestMvc\TestMvc\TestMvc.csproj" /T:Package 但当我使用以下代码时(我实现了自己的记录器,但在这里并不重要): 从API调用时,我得到以下日志: Tar
MSBuild "C:\Users\Documents\Visual Studio 2010\Projects\TestMvc\TestMvc\TestMvc.csproj" /T:Package
但当我使用以下代码时(我实现了自己的记录器,但在这里并不重要):
从API调用时,我得到以下日志:
Target "CoreCompile: (TargetId:37)" in file "C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.CSharp.targets" from project "D:\Users\Documents\Visual Studio 2010\Projects\MvcTest2\MvcTest3\MvcTest3.csproj" (target "Compile" depends on it):
Building target "CoreCompile" completely.
Output file "obj\Debug\MvcTest3.dll" does not exist.
Using "Csc" task from assembly "Microsoft.Build.Tasks.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
Task "Csc" (TaskId:20)
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Csc.exe .....
Microsoft (R) Visual C# 2010 Compiler version 4.0.30319.1 (TaskId:20)
Copyright (C) Microsoft Corporation. All rights reserved. (TaskId:20)
(TaskId:20)
Done executing task "Csc". (TaskId:20)
Target "CoreCompile" in file "C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.CSharp.targets":
Building target "CoreCompile" completely.
Output file "obj\Debug\MvcTest3.dll" does not exist.
Using "Csc" task from assembly "Microsoft.Build.Tasks.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
Task "Csc"
Done executing task "Csc".
因此,在这两种情况下都会启动Csc任务,但是,当通过API启动时,它不会生成任何输出文件(我在文件监视器中也检查了这一点,没有生成任何文件)。每种情况下的工作目录是什么?obj\Debug\etc。。。是相对路径而不是绝对路径。@Murph,相同的目录。为了方便起见,我刚刚删除了这两种情况下的长路径。
Target "CoreCompile" in file "C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.CSharp.targets":
Building target "CoreCompile" completely.
Output file "obj\Debug\MvcTest3.dll" does not exist.
Using "Csc" task from assembly "Microsoft.Build.Tasks.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
Task "Csc"
Done executing task "Csc".