2014-08-29 232 views
5

所以我有C++播放器項目,其中有2個其他項目依賴項,這兩個項目都有後建立事件將dll複製到另一個文件夾。該項目正在建設,然後決定不隨機工作,從那時起,我還沒有找到解決方案。即使從SVN中清理完畢,它仍然不起作用,除了我之外,它適用於所有其他開發者。Visual Studio發佈內部複製命令錯誤MSB3073退出代碼1

我檢查了錯誤消息中的路徑,它們確實存在,目標dll也一樣。

生成後事件中的每一個相關的項目:

copy $(TargetPath) $(ProjectDir)..\..\$(Configuration)\plugins\$(ProjectName).dll 

產生的錯誤:

error MSB3073: The command "copy C:\CMDev\CM2\Client\Apps\SSEP\Player\ACRP\CIAP\Debug\CIAP.dll C:\CMDev\CM2\Client\Apps\SSEP\Player\ACRP\CIAP....\Debug\plugins\CIAP.dll:VCEnd" exited with code 1. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets 131 5

當前設置:

  • 運行Windows 7旗艦版Service Pack 1的
  • Visual Studio Pro v12.0.30723.00更新3,在Administr下運行ATOR。

有什麼我想:

  • 更新的Visual Studio 2013專業版更新3(從更新1)與周圍的例如/ Y參數每個路徑
  • 包裝報價複製/ Y「源」「目標」
  • 嘗試xcopy。
  • 單獨嘗試清潔並重新構建eaach依賴項。
  • 卸載了Visual C++ 2010和2012,x86和x64 Redistributable,並重新安裝了所有4個版本。

我還能試試嗎?

+2

聽起來像你已經嘗試了很多事情來調查你的問題。但是,您是否嘗試過啓用[項目日誌記錄?](http://blogs.msdn.com/b/vsproject/archive/2009/07/21/enable-c-project-system-logging.aspx)它適用於我在VS2012中,它可能會指出問題所在。 – rrirower 2014-08-29 12:02:24

回答

3

問題是VS如何追加:VCEnd後綴。不知怎的,microsoft.CppCommon.targets文件被錯誤地修改了。

<PropertyGroup> 
     <_BuildSuffix> 
:VCEnd</_BuildSuffix> 
    </PropertyGroup> 
1

當雙擊編譯器錯誤時,我被帶到同一個文件(microsoft.CppCommon.target)。但是,此文件作爲Visual Studio安裝的一部分進行安裝,不能保存(由於其權限)可寫,因此似乎是一個紅鯡魚。該文件的內容與@user1883004's answer中的內容相同。

與源控制系統,我做了以下內容:

  1. 關閉Visual Studio的
  2. 從項目的根從源頭控制
  3. 打開Visual Studio刪除所有文件,並強行重新下載,並重新編譯。

沒有源代碼控制系統,嘗試的步驟這種變化: -

  1. 關閉Visual Studio的
  2. 手動刪除調試/發佈(或任何其他產生子目錄)
  3. 開放Visual Studio,並重新編譯。

注意,無論是清理解決方案也不重建解決方案爲我工作。

+0

這對我有用,但我必須在Visual Studio中創建一個新項目,並將所有文件複製到新項目中。 – 2016-11-07 12:30:17