簡體   English   中英

我如何獲得Visual Studio解決方案來構建MVC項目並將其運行到另一個文件夾?

[英]How do i get a Visual Studio solution to build and run an MVC project to another folder?

首先,如果我遺漏了一些明顯的東西,但我似乎很抱歉,但是我似乎找不到任何答案!

我所擁有的是一個解決方案,其中包含許多包含支持類和控制器等的類庫項目以及一個包含視圖的MVC項目。

我想要的是能夠將這組項目構建到另一個位置(即c:\\ build),並能夠從該構建位置運行VS debug。 這樣一來,dll和pdb文件就不會不斷更新並檢入到源代碼管理中,而是默認情況下僅構建到用戶PC上的另一個位置。

我所做的是將csproj xml文件更改為包含以下條目。

<BaseOutputPath>c:\build\$(AssemblyName)\$(Configuration)\</BaseOutputPath>
<OutputPath>$(BaseOutputPath)\bin\</OutputPath>
<BaseIntermediateOutputPath>$(BaseOutputPath)\obj\</BaseIntermediateOutputPath>

現在,這對於類庫項目以及為MVC項目本身創建的dll都非常適用。 VS創建相關文件夾,並將正確的dll文件構建到其中,包括將任何相關的項目dll構建到此文件夾結構中。

但是,在MVC項目中似乎也發生了什么,它似乎仍然是將依賴的dll構建到項目的\\ bin文件夾中(但不會在此處自行構建)。 看來,當您運行該項目時,它會嘗試從該項目的\\ bin文件夾中的代碼運行,並且由於它找不到MVC項目的dll,因此無法正常運行。

有什么方法可以阻止VS將依賴的DLL文件構建到\\ bin文件夾中,並告訴它查看所構建的DLL的構建位置嗎?

我在MSDN網站上查看了有關proj文件的信息,並提出了許多不同的解決方案,但是它們都不起作用。

任何幫助將非常感激。

希望此行為是MSBuild而不是VSBuild依賴的,因為這兩個生成過程不同。 如果您很幸運,並且這種行為與MSBuild相同,那么我將遵循MSBuild調試過程:

與MSBuild中的任何神奇行為一樣,在.CSProj文件中查找任何import target=代碼,然后找到這些文件。 遵循這些步驟將引導您做出有關任何決定的部分。

您可以將VS的調試器附加到構建過程中-http: //blogs.msdn.com/b/visualstudio/archive/2010/07/06/debugging-msbuild-script-with-visual-studio.aspx + http:// blogs.msdn.com/b/visualstudio/archive/2010/07/09/debugging-msbuild-script-with-visual-studio-2.aspx

另外,您可以臨時提高生成的詳細程度http://blogs.msdn.com/b/msbuild/archive/2005/09/29/475157.aspx

暫無
暫無

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

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