2014-10-30 46 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?我不會說謊,但是幾天之內大部分的反覆試驗都可以解決這個問題。上帝,我希望我再也不用再碰這個代碼...

相關問題