none
LineShape in C# RRS feed

  • 問題

  • 想請問一下為何我在C#中無法使用LineShape的元件? 

    錯誤訊息:  System.InvalidCastException

    可是我於VB中卻可以將LineShape加入倒WinForm中!


    2012年7月16日 上午 03:05

解答

  • 您好,

    您可以比較一下用VS2008拉的專案,跟VS2010拉的專案。

    2個的專案檔是否有什麼樣子的差別呢?

    都是用到 版本10的那個嗎?

    因為如果要暴力刪除GAC還有一個方式,就是使用「[.NET]讓GAC目錄看起來跟一般的檔案總管一樣」方式,

    然後到 C:\Windows\assembly\GAC_MSIL\Microsoft.VisualBasic.PowerPacks.Vs 目錄刪除 版本 9 的DLL。

    您可以試找一下,您的電腦有那些 有那些 Microsoft.VisualBasic.PowerPacks.dll。


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    • 已標示為解答 ChuangMaster 2012年7月17日 上午 07:41
    2012年7月16日 上午 11:19

所有回覆

  • 您好,

    您要加入 Microsoft.VisualBasic.PowerPacks 參考哦!

    您可以到 「C:\Program Files (x86)\Reference Assemblies\Microsoft\VBPowerPacks\v10.0」 目錄中,

    加入Microsoft.VisualBasic.PowerPacks.Vs.dll的參考哦!

    如果要在工具箱使用它的話,請在工具箱中,加入  Microsoft.VisualBasic.PowerPacks.Vs.dll 就可以了。

    Using VB powerpack controls in C# projects

    Microsoft Visual Basic Power Packs 3.0


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/



    • 已編輯 亂馬客 2012年7月16日 上午 03:18
    2012年7月16日 上午 03:11
  • Microsoft.VisualBasic.PowerPacks.Vs (在 Microsoft.VisualBasic.PowerPacks.Vs.dll 中)

    上面大大回答了,需要加上参考,试试看吧。阅读一下官方的文件,还有附简单的范例

    http://msdn.microsoft.com/zh-tw/library/microsoft.visualbasic.powerpacks.lineshape%28v=vs.90%29.aspx


    http://mysftway.blogspot.com/ 熱誠熱心地幫忙大家! 希望與大家切磋技術哦~

    2012年7月16日 上午 03:50
  • 您好

    如果你是使用 Visual Studio 2008,請更新至 Visual Studio 2008 SP1

    在工具箱使用 LineShape 拖拉至表單上,會自動將相對應的參考加入


    歡迎參觀我的Blog.NET菜鳥自救會

    2012年7月16日 上午 05:15
    版主
  • 加入參考似乎不是問題?

    因為我有檢查參考的欄位 都有加入

    附上錯誤訊息

    2012年7月16日 上午 05:56
  • 您好,
    請問您在VB中加入的PowerPack的版本是幾版的呢? VS2010的版本應該是 10.0.0.0哦 !
    看起來好像是版本衝到!
    請參考: Failed to create component OvalShape ,看看有沒有幫助,謝謝!

    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    2012年7月16日 上午 06:08
  • 因為我電腦也有2008 會不會是這樣呢?

    該怎麼檢查版本呢?

    2012年7月16日 上午 06:23
  • 您好

    你是自己 [加入參考],還是從工具箱拖拉上去?

    參考的路徑檢查一下是不是 C:\Program Files (x86)\Reference Assemblies\Microsoft\VBPowerPacks\v10.0\Microsoft.VisualBasic.PowerPacks.Vs.dll


    歡迎參觀我的Blog.NET菜鳥自救會

    2012年7月16日 上午 06:32
    版主
  • 請在參考的VBPowerpack DLL上按一下,看屬性中的版本號。

     或是您檢查一下,您的專案檔中的
    <ItemGroup>中,是否有PowerPacks.Vs的參考,如下是我專案檔的設定,

    <Reference Include="Microsoft.VisualBasic.PowerPacks.Vs, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Program Files (x86)\Reference Assemblies\Microsoft\VBPowerPacks\v10.0\Microsoft.VisualBasic.PowerPacks.Vs.dll</HintPath>
      <Private>True</Private>
    </Reference>


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/



    • 已編輯 亂馬客 2012年7月16日 上午 06:37
    2012年7月16日 上午 06:33
  • 亂馬大:

    版本也是一樣是10.0.0.0的

    2012年7月16日 上午 06:35
  • 您好,

    請問原本的專案是從vs2008升上來的嗎?

    建立新的專案也會嗎?

    再檢查一下,C:\Windows\assembly中Microsoft.VisualBasic.PowerPacks.Vs的版本是多少的,謝謝!


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/



    • 已編輯 亂馬客 2012年7月16日 上午 06:55
    2012年7月16日 上午 06:39
  • 亂馬大:

    沒有 我是直接在2010開的測試專案 但是要使用時就出現這樣錯誤訊息了

    2012年7月16日 上午 06:56
  • 從錯誤訊息來看, 您的電腦好像有兩個PowerPack, 9.0版和10.0版, 請移除一個, 保留一個即可
    • 已提議為解答 亂馬客 2012年7月16日 上午 07:10
    2012年7月16日 上午 07:02
  • 可是為何我能用VB開呢?

    如果是這問題的話我該怎麼刪除另外一個版本?

    2012年7月16日 上午 07:15
  • Hi,
    請問您能把您的專案放在 SkyDrive 給我們下載試一下嗎?
    另外,如果把VBPowerPack參考設成 複製到本機 是否還是一樣的錯呢? Thanks.


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    2012年7月16日 上午 07:49
  • 亂馬大大:

    我只是單純從工具箱拉出來winform就產生錯誤訊息了

    如果把VBPowerPack參考設成 複製到本機 是否還是一樣的錯呢?」 不太懂您意思

    2012年7月16日 上午 08:06
  • 您好,
    你可以檢查一下 C:\Windows\assembly中Microsoft.VisualBasic.PowerPacks.Vs的版本是多少的,謝謝!

    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    2012年7月16日 上午 08:18
  • Microsoft.VisualBasic.PowerPacks.Vs 9.0.0.0 跟 10.0.0.0都有

    2012年7月16日 上午 08:28
  • 您好,
    我再確定一下,
    您開啟一個C#的winform專案,然後從工具箱中拉VBPowerPack的元件到畫面上,就出現錯誤。
    如果您開啟一個VB.NET winform專案,然後從工具箱中拉VBPowerPack的元件到畫面上,就正常不會有錯誤。
    C# & VB.NET的專案中都是參考VBPowerPack 10.0.0.0的版本嗎?

    如果是的話,那先把VBPowerPack 9.0.0.0版本從C:\Windows\assembly中 刪除掉 或是反安裝 9.0.0.0版本 再試看看!

    或是將您的專案檔中的參考改成 Version=9.0.0.0, 再重開試啟專案試看看!


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/




    • 已編輯 亂馬客 2012年7月16日 上午 09:00
    2012年7月16日 上午 08:49
  • 我到C:\Windows\assembly 打算直接解除安裝9.0版本

    可是又多出這訊息...

    不好意思問題好多

    都是參考到10.0.0.0的版本

    如果我是開vs2008的專案C# 是可以拉出來,版本是9.0.0.0

    可是vs2010就沒辦法~"~

    我有嘗試在2010 參考9.0.0.0但卻無法使用
    2012年7月16日 上午 09:12
  • 您好,

    請問在控制台的新增移除程式中有看見Microsoft Visual Basic Power Packs 3.0嗎?

    您的機器上有裝VS 2005 & VS2010嗎?

    奇怪了,小弟裝了VB Power Pack 3.0 (版本號是9.0.0.0),用VS2010 C# 從工具箱中選取 Power Pack 10.0.0.0的,再拉到畫面上,不會有錯誤呢!


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/




    • 已編輯 亂馬客 2012年7月16日 上午 10:00
    2012年7月16日 上午 09:51
  • Microsoft Visual Basic Power Packs 3.0 這就沒看到

    沒有vs 2005 , 有安裝 vs2010

    我後來是用vs2008 拉完之後再用2010的開...

    就可以了QQ

    可是這應該不是好方法

    2012年7月16日 上午 10:06
  • 您好,

    您可以比較一下用VS2008拉的專案,跟VS2010拉的專案。

    2個的專案檔是否有什麼樣子的差別呢?

    都是用到 版本10的那個嗎?

    因為如果要暴力刪除GAC還有一個方式,就是使用「[.NET]讓GAC目錄看起來跟一般的檔案總管一樣」方式,

    然後到 C:\Windows\assembly\GAC_MSIL\Microsoft.VisualBasic.PowerPacks.Vs 目錄刪除 版本 9 的DLL。

    您可以試找一下,您的電腦有那些 有那些 Microsoft.VisualBasic.PowerPacks.dll。


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    • 已標示為解答 ChuangMaster 2012年7月17日 上午 07:41
    2012年7月16日 上午 11:19
  • vs2008 使用PowerPacks參考版本9.0.0.0

    vs2010 如果開啟2008專案後一樣是使用9.0.0.0 

    但是如果在vs2010開啟專案並從工具箱加入shape line或是oval等元件時

    自動是參考到PowerPacks 10.0.0.0 我有試圖使用參考9.0.0.0但結果是相同的(錯誤訊息)

    2012年7月16日 下午 12:04
  • 您好,

    那您在可以看一下9.0.0.0的DLL檔案Path嗎?

    然後將它加入到您vs 2010的工具箱之中,

    之後就使用9.0.0.0的元件試看看是否ok!


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    2012年7月16日 下午 02:12
  • 還是沒有辦法!

    我想最快方法應該就是大大您告訴我的暴力刪掉GAC的方法

    不然就是把vs2008給移除 

    2012年7月16日 下午 03:51
  • 您好,

    版本9的是VS2008安裝上去的!

    請問一下,您的VS2010是裝那個版本的呢?

    工具箱的VBPower Pack 會自動長出來嗎? 還是您去建立的呢? 謝謝!


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    2012年7月17日 上午 08:01
  • 我使用版本是express

    沒錯! 2010版本如果再工具列增加shape line的物件時 參考會自動加上

    2012年7月17日 上午 10:55
  • 謝謝您,請問您裝了VS 2010 C# Express & VS2010 VB Express?

    工具箱手動增加 版本 10的 VBPowerPack?

    而VS2010 VB Express 拉到畫面上是正常的,

    VS2010 C# Express 拉到畫面上就會出現錯誤?


    以上說明若有錯誤請指教,謝謝。
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    2012年7月17日 上午 11:05
  • 你敘述的沒錯!
    2012年7月17日 上午 11:11