2011-03-23 104 views
0

我最近將一個ASP.net 2.0網站項目轉換爲一個ASP.net 3.5 Web應用程序項目,我仍然習慣了文件結構化的方式。ASP.net Web應用程序項目目錄結構

我遇到的問題是,當我構建相應的Web部署項目時,它會複製obj目錄。但我的理解是,obj目錄只是中介,並沒有爲部署的網站提供任何有用的用途?

如果這是正確的,是否有某種方法來配置Web應用程序項目以將中間obj目錄放在其他地方,或者是否有其他方法可以正確處理?

+0

你爲什麼不使用發佈功能?因爲它根本不創建obj文件夾。 – 2011-03-23 07:01:32

+0

那麼,我喜歡Web部署項目方法,因爲它允許我將它作爲某些配置的構建階段。所以我可以有一個'Staging'配置,當我構建它時,它將部署到我的IIS Staging站點。我有什麼理由不應該使用這種方法嗎? – thelsdj 2011-03-23 07:06:27

+0

你的方法沒有問題,但是由於你將項目從網站轉換爲web應用程序項目,你應該手動刪除這個文件夾,因爲VS在網站項目中使用這個文件夾來控制項目調試。 – 2011-03-23 07:17:35

回答

2

只需添加在.csproj_deploy文件中的以下

<Target Name="AfterBuild"> 
    <Message Text="------ Deleting unwanted files ------" Importance="high" /> 
    <CreateItem Include="$(OutputPath)obj"> 
     <Output TaskParameter="Include" ItemName="ObjDirPattern"/> 
    </CreateItem> 
    <RemoveDir Directories="@(ObjDirPattern)"> 
     <Output TaskParameter="RemovedDirectories" PropertyName="objdir" /> 
    </RemoveDir> 
    <Message Text="Deleted obj directory: $(objdir)" Importance="high" /> 
</Target> 

更多看到http://msdn.microsoft.com/en-us/library/7z253716.aspx