2014-10-30 42 views
0

我试图创建从Web API项目部署的包,而我得到的错误的MSBuild的Web API项目不创建一个可部署的包

error MSB4057: The target "Package" does not exist in the project. 

当我尝试建立一个Web应用程序运行MVC5,我没有问题。

构建MVC5应用程序的命令是

MSBuild.exe Project.Web.csproj /P:Configuration=Debug /T:Package 

发生故障的网络API应用程序的命令是

MSBuild.exe Project.Api.csproj /P:Configuration=Debug /T:Package 

我猜想,也许我需要安装的东西,但我有不知道是什么。任何人都可以告诉我做错了什么?

注意:如果您需要更多信息,请告诉我。

回答

1

我看了一圈,看到我可能不得不添加属性VisualStudioVersion,但每当我尝试它时,包仍然失败。

我只是比较的csproj文件,发现下面的属性组失踪:

<PropertyGroup> 
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> 
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> 
</PropertyGroup> 

添加此修复它,所以也许我需要两个VisualStudioVersionVSToolsPath

之后,我很快遇到了部署问题,这又涉及到更多的配置差异。这次它是最上面的节点Project。属性ToolsVersion在一个项目中设置为4.0,另一个项目设置为12.0。设置它们都到4.0修复它,可能是因为我正在编译MSBuild 4?我不会说谎,但是几天之内大部分的反复试验都可以解决这个问题。上帝,我希望我再也不用再碰这个代码...

相关问题