簡體   English   中英

在Visual Studio中沒有為相同的代碼引用C#程序集?

[英]c# assembly not referenced for identical code in visual studios?

由於“ Xero.Api.Infrastructure.Interface.IAuthenticator在未引用的程序集中定義”,我在構建“ SharePoint項目”時遇到問題。 問題是,當我在“控制台應用程序項目”中使用相同的代碼和引用時,它能夠正確構建。

因此,這是可構建代碼的圖像: Buildable Code

這是不可構建代碼的圖像: 不可構建代碼

這是嘗試構建SharePoint項目時遇到的錯誤: 引用錯誤

代碼是:

X509Certificate2 cert = new X509Certificate2(@"C:\OpenSSL-Win64\bin\public_privatekey.pfx", "lanteria");
var private_app_api = new XeroCoreApi("https://api.xero.com", new PrivateAuthenticator(cert),
                new Consumer("GPR4Vxxxxxxxxxxxxxxx6TRVCI", "0VMT6xxxxxxxxxxxxxxRD26S"), null,
                new DefaultMapper(), new DefaultMapper());

當嘗試使用PrivateAuthenticator對象作為IAuthenticator對象的輸入時,會發生錯誤。 PrivateAuthenticator對象是IAuthenticator的子類,因此這不應該成為問題。

我確保在兩個項目中都以相同的方式引用了程序集。 我什至第三次確保這一點。 唯一的區別是,一個項目是控制台應用程序項目,另一個項目是SharePoint項目。 任何幫助將不勝感激。

謝謝

您需要下載nuget

 PM> Install-Package Xero.API.SDK.Minimal or Install-Package Xero.API.SDK 

我能夠找到問題的根源,但仍然無法解決。 我目前正在使用一種解決方法。 問題是我的一個程序集引用了另一個程序集,並且由於某些原因在SharePoint項目中無法引用。

  • SharePoint項目參考A和B
  • A是一個獨立的程序集
  • B參考A。

問題是由於某種原因B無法引用A。我的臨時解決方法是,因為我能夠在ConsoleApplication上運行,所以我讓SharePoint項目運行了控制台應用程序。 這使我能夠在SharePoint上創建觸發器,該觸發器將運行控制台應用程序,該控制台應用程序會將更改推送到Xero。

暫無
暫無

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

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