2011-10-30 48 views
0

這是我的問題與VS:在第一個項目小號 : System.Security.Cryptography.AesCryptoServiceProvider obj;
一切都在第二個項目確定

System.Security.Cryptography.AesCryptoServiceProvider obj1;
它不承認AesCryptoServiceProvider!Visual Studio的C#包

是VS使用不同的軟件包還是什麼?

更新:改變變量名,但仍然沒有工作

+0

您是否在每個項目中包含對相應dll的引用? – Jason

+0

@Jason不,我沒有。但我沒有參與這兩個項目,他們中的一個如何工作,另一個不工作! 我應該添加什麼參考? – Katia

+1

兩者都使用.net版本? –

回答

1

檢查您的項目是否有參考文獻System.Core。可能只是第一個。你已經添加了它,以便能夠使用AesCryptoServiceProvider

此外,正如你所看到的hereAesCryptoServiceProvider僅在.NET 3.5以後纔可用。檢查您的項目屬性,更具體地說目標框架

+0

這是一個.net版本的問題;工作的是4,沒有工作的是2。我可以在不更改.net版本的情況下添加參考嗎?我確實試圖將其從2改爲4,但它引用了更多的錯誤。並感謝您的幫助:D。 – Katia

+0

您必須將其更改爲.NET 3。5或更高,否則你將無法訪問'AesCryptoServiceProvider'。也許你正在引用特定於版本2的.dll,這就是爲什麼當更改爲4時出現錯誤。 – Joao

+0

將*目標版本*更改爲4,並刪除引發錯誤的引用。如果需要,使用*添加引用*嚮導再次添加它們。 – Joao

5

var是保留關鍵字。使用不同的標識符名稱或@var

System.Security.Cryptography.AesCryptoServiceProvider @var; 

這可能不是問題 - 你需要確保每個項目具有System.Core參考含System.Security.Cryptography大會。

您還需要確保您的目標是包含此類(.NET 3.5及以上版本)的框架版本 - 這可以在項目屬性頁面中完成。

+0

已更改,但仍不起作用 – Katia

+0

這是我。錯箭頭,對不起。 :) – Joao

+0

@Jota - 沒有傷害... – Oded

1

兩個項目之間的引用是否相同?只需打開參考資料並參閱。我敢打賭你錯過了一個。但是,您應該使用與var不同的變量名稱。另外,你可以發佈確切的錯誤?

1

你不能說出一個變量var,因爲它是一個保留字,使用不同的名稱,這不會導致錯誤:

System.Security.Cryptography.AesCryptoServiceProvider _var;

編輯:

AesCryptoServiceProvider只在.Net框架4和3.5 SP1中支持,更改目標框架,它將工作,並確保該文件中有System.Security.Cryptography;