[英]How can I use C#.NET assemblies in ColdFusion?
我的公司有一個用 ColdFusion 編寫的 web 應用程序,我正在嘗試集成一個用 C#.Net 編寫的 API。 我是 .Net 開發的新手,所以我可能不太了解術語。 我創建了一個非常簡單的 C# class 來測試定義如下的 ColdFusion:
namespace FIX
{
public class IntegersTest
{
public int Add(int n, int m)
{
return n + m;
}
}
}
我能夠構建這個 class 和 a.dll 是 output (FIX.dll)。 現在我使用以下代碼創建一個 ColdFusion 文件:
<cfobject type="dotnet" class="FIX.IntegerTest" name="math" action="create"
assembly="C:\path\to\file\FIX.dll">
當我嘗試運行它時,出現以下錯誤:
Class FIX.IntegerTest not found in the specified assembly list.
The assembly that contains the class must be provided to the assembly attribute.
在 do.net 錯誤日志中,我看到“正在中止代理生成,因為在依賴 class 列表中找不到任何類。這可能意味着 class FIX.IntegerTest 不存在於程序集中。”
我試過重新安裝 ColdFusion.Net 服務以及 ColdFusion 本身。 我嘗試了 targeting.Net Framework 3.0 並重新構建 class。我嘗試了 cfobject 標記的 class 屬性的多種變體。 我不太確定還能做什么。
需要注意的是下面的ColdFusion代碼沒有報錯:
<cfobject type="dotnet" name="sidiClass" class="System.IO.DriveInfo">
我正在使用 Visual Studio 2019、ColdFusion 2018,並將我的測試項目的目標框架設置為 .NET 4.7.2。 任何和所有輸入將不勝感激。 謝謝你。
編輯正如@Ageax 指出的那樣,我剛剛打錯了字,但我得到了另一個 class,即使我確保拼寫正確。 答案是目標框架。 ColdFusion 不喜歡我的目標是 .Net Framework 3.0(由於某些原因,第二個項目不允許我切換到 4.0+)。 我用正確的目標框架創建了一個新項目,一切似乎都在工作!
正如@Ageax 所指出的那樣,我剛剛打錯了字,但即使我確保拼寫正確,我還是為另一個 class 得到了這個。 答案是目標框架。 ColdFusion 不喜歡我的目標是 .Net Framework 3.0(由於某些原因,第二個項目不允許我切換到 4.0+)。 我用合適的目標框架 (4.7.2) 創建了一個新項目,一切似乎都在工作!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.