2014-02-21 56 views
0

我有一個網站,我必須遷移到我們的服務器只需很少的代碼更改。下面是這種情況:源文件(.cs)中的代碼更改沒有反映在應用程序中

我們有被寫了一些其他供應商網站,現在我們必須到該網站遷移到不同的服務器上有一些小的代碼更改。問題是他們有一個自定義的dll sat Test.dll,它有一個名爲Person.cs的文件,現在該文件也作爲源文件存在於網站(Project)中,這是必需的,因爲我們必須對其進行更改或將來可能不得不。但是當我在Person.cs的源代碼中進行更改時,我沒有看到這些更改反映在我的應用程序中,因爲它從dll中讀取Person.cs文件,在閱讀了一些在線帖子和文檔之後,它是如何運行的.net儘管Java以另一種方式工作。

我是很新的.NET這裏的解決方案有任何意見或建議,將不勝感激,這樣不能相信。

+0

如果我理解你正確,你應該建立項目與此變化,以獲得DLL文件,並用新的替換舊的。 IIS會注意到dll被更改並重新加載它。 – Fedor

+1

它的一個網站不是一個項目,所以改變源代碼不會被添加到該dll –

+0

所以,你有哪些成功部署的ASP.NET MVC應用程序,現在你想在它的一些變化,但你還沒有得到充分VS _solution_(或_project_),只有一組源* .cs文件? – Fedor

回答

1

如果它是一個Web 項目,在C#代碼項目構建過程中編譯。要進行更改,需要重建項目,生成新的二進制文件。

+0

它是一個網站而不是一個Web項目,所以當我做一個重建新的DLL沒有生成,也我覺得這可能聽起來很奇怪,但爲什麼你會有一個源文件和一個DLL文件相同,你應該有在dll中的文件,你不想在同一個項目/網站只是它在java中修改。 –

0

什麼可能發生的情況是你的供應商沒有用解決方案(.sln)文件提供給您。您可能需要從一個空白的網站開始。由於信息量有限,很難確定這是一個webforms還是mvc站點。

+0

其實,OP明確規定,這是ASP.NET _website_項目 – Fedor

+1

這是要聽起來很奇怪,但它是一個MVC項目,但它沒有一個.csproj的,所以我必須創建一個網站,然後在所有的文件拖放我有 –

+0

糟糕,那麼它不像我想象的那麼清楚 – Fedor

0

我創建了一個網站來承載IIS中的WCF服務。我創建了個人資料發佈網站,讓我的生活變得輕鬆。我不想將WCF服務中的DLL拖放到網站上,所以我提出了在每次發佈之前編譯代碼的條件。

的配置文件中的代碼如下:

<?xml version="1.0" encoding="utf-8"?> 

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
    <WebPublishMethod>FileSystem</WebPublishMethod> 
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration> 
    <LastUsedPlatform>x86</LastUsedPlatform> 
    <SiteUrlToLaunchAfterPublish /> 
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish> 
    <ExcludeApp_Data>False</ExcludeApp_Data> 
    <publishUrl>C:\TestWebsite</publishUrl> 
    <DeleteExistingFiles>True</DeleteExistingFiles> 
    <PrecompileBeforePublish>True</PrecompileBeforePublish> 
    <EnableUpdateable>True</EnableUpdateable> 
    <DebugSymbols>True</DebugSymbols> 
    <WDPMergeOption>DonotMerge</WDPMergeOption> 
    </PropertyGroup> 
</Project> 

這確保該代碼被髮布之前編譯行:

<PrecompileBeforePublish>True</PrecompileBeforePublish> 
相關問題