簡體   English   中英

部署ASP.NET“網站”后缺少使用指令或程序集引用問題

[英]missing a using directive or an assembly reference issue after deploying an ASP.NET “Website”

因此,我有一個ASP.NET網站,該網站在我的計算機上運行良好。 但是,當我將其部署到Web主機服務器上時,它給我一個錯誤消息:

Compilation Error

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. 

Compiler Error Message: CS0246: The type or namespace name 'Newtonsoft' could not be found (are you missing a using directive or an assembly reference?)

Source Error:


Line 15: using Microsoft.VisualBasic;
Line 16: using System.Data.SqlClient;
Line 17: using Newtonsoft.Json;
Line 18: using System.Globalization;
Line 19: using System.Text.RegularExpressions;

我認為這是一個典型的錯誤,甚至在我以前也已經提出過類似的問題。 但是,所有解決方案都不明確或不適用。

由於它是一個“網站”項目,因此aspx.cs文件的屬性不包含任何字段,例如“ Build Action”或“ Copy Local”等。我正在使用Newtonsoft解析JSON。 有人可以建議我逐步解決這種問題嗎?

我遇到了諸如清理之類的解決方案。 清潔什么? 在我的解決方案資源管理器中,有一個BIN文件夾,其中包含Newtonsoft庫的dll,xml和pdb。 使用COPY WEBSITE工具將其按原樣復制到Webhost服務器上。

我該怎么做才能解決問題? 謝謝你

如果您沒有部署到應用程序根目錄,而是普通的Windows文件夾,則會發生這種情況。

bin文件夾必須位於您的應用程序根目錄( ~/bin )中,才能正確解析程序集。 您可以通過更改web.config文件中的專用探測路徑來更改此設置,但這是一個不好的解決方案。

確保將應用程序上載到配置為托管應用程序的文件夾。 如果您具有遠程桌面訪問權限,則可以在IIS管理器中完成。 共享托管解決方案可以在基於Web的配置工具中提供此功能。 登錄到“控制面板”並四處張望。

或者,您可以只聯系您的托管支持。

請執行以下步驟:->解決方案資源管理器窗口->在Visual Studio中的.cs文件上單擊鼠標右鍵->選擇屬性->生成操作=編譯

要么

刪除您的Newtonsoft的引用,並將Newtonsoft.dll復制到您的bin文件夾中,然后從那里提供引用。

建立您的網站並將其發布到某個文件夾。 然后將所有必需文件復制到您的Web服務器。 只需檢查您是否在bin文件夾(Web服務器)中有Newtonsoft dll。 如果沒有,請從本地計算機復制它,然后將其粘貼到Web服務器。

暫無
暫無

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

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