簡體   English   中英

msbuild在命令行上工作,但VS2010表示項目“未選中”

[英]msbuild works on command line but VS2010 says a project is “not selected”

此問題的相關解決方案和項目文件位於:

http://code.google.com/p/benfwaves/source/browse/trunk/BenfWaves.sln?r=26

http://code.google.com/p/benfwaves/source/browse/trunk/BenfWaves.Library/BenfWaves.Library.csproj?r=26

http://code.google.com/p/benfwaves/source/browse/trunk/BenfWaves.Client/BenfWaves.Client.csproj?r=26

http://code.google.com/p/benfwaves/source/browse/trunk/BenfWaves.Tests/BenfWaves.Tests.csproj?r=26

我試圖重構項目文件以消除冗余,並允許編譯到.NET 3.5以及.NET 4.0。 目前,VS2010 IDE可以在.NET 4.0上為任何CPU編譯。 如果我嘗試任何CPU for .NET 3.5,它說:

錯誤1無法加載文件或程序集'System.Drawing,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其依賴項之一。 該系統找不到指定的文件。 第123行,第5行.D:\\ projects \\ BenfWaves \\ trunk \\ BenfWaves.Client \\ Properties \\ Resources.resx 123 5 BenfWaves.Client

我讀到這可能是resgen.exe的問題,但更改該文件上的32位標志並沒有改善任何情況。 此外,IDE不相信項目具有除Any CPU以外的任何配置,這會產生以下問題:

------ Skipped Build: Project: BenfWaves.Library, Configuration: Debug-4.0 Any CPU ------
           Project not selected to build for this solution configuration
------ Build started: Project: BenfWaves.Client, Configuration: Debug-4.0 x86 ------
           BenfWaves.Client -> D:\projects\BenfWaves\trunk\BenfWaves.Client\bin\x86\Debug-4.0\BenfWaves.Client.exe
------ Skipped Build: Project: BenfWaves.Tests, Configuration: Debug-4.0 Any CPU ------
           Project not selected to build for this solution configuration
========== Build: 1 succeeded or up-to-date, 0 failed, 2 skipped ==========

它正在跳過不應該的東西。 命令行中的msbuild適用於所有三個平台,不會跳過任何內容。

任何建議都會非常受歡迎。 謝謝。

編輯:在第27版之后,至少“未選擇”問題不再存在,因為我在項目中添加了虛擬配置行,以欺騙VS2010工作。 但是,.NET 3.5下的資源編譯問題仍然存在。

  • 在解決方案Explorer中,右鍵單擊Solution
  • 然后轉到Configuration Manager
  • 確保每次都要檢查要構建的項目的“構建”列。

嘗試通過將這些行首先放在第一個PropertyGroup中來確保$(Configuration)和$(Platform)都有默認值...

<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>

這可能是相關的,因為IDE以特殊方式處理這些屬性,如果在加載項目時它們沒有值,則可能會混淆。

我看到你修復了sln中的配置錯誤。 Resx問題與此處描述的相同。

您可能想嘗試編輯解決方案構建配置。

http://msdn.microsoft.com/en-us/library/kwybya3w.aspx

按照“選擇和編輯解決方案構建配置”標題下的說明進行操作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM