C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: カスタムコントロールとlicenses.licxについて


(過去ログ 97 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■57862 / inTopicNo.1)  カスタムコントロールとlicenses.licxについて
  
□投稿者/ 音色 (3回)-(2011/03/18(Fri) 14:26:49)

分類:[VB.NET/VB2005 以降] 

VB.NET 2008でInputManを継承したカスタムコントロールを作成しております。
ライセンス問題で不都合が生じて困っております。
お分かりになる方おられましたら、どうかご教授ください。

InputManを継承したカスタムコントロールを作成しました。
デザイン時に「licenses.licx」が自動生成されるよう、LicenseProvider属性を設定しました。

<LicenseProviderAttribute(GetType(LicenseProvider))> _
Public Class MyControl
 ……
End Class

プロジェクト参照でこのカスタムコントロールを利用し、フォームを作成したのですが、
リビルド時にLC.exeにてエラーが発生してしまいます。

エラー発生の理由は、「licenses.licx」にカスタムコントロールのライセンス情報が何度も書き込まれてしまうからです。

カスタムコントロールのバージョンが更新されると、「licenses.licx」に新たなバージョン情報が書き込まれるというのは
知っています。
以前のバージョンの記述が残り、それ故にそうしたエラーが発生するということも。

バージョン更新の予定はないので問題なかろうと判断し、また実際バージョン更新はしていないのですが、
何故かリビルドの度に同じバージョン情報でライセンスが追記されてしまいます。

どのようにすればこの現象を回避できるでしょうか?
よろしくご教授ください。


※LicenseProvider属性を設定せず、「licenses.licx」を手動で書きこむようにすればエラーは発生しません。
※カスタムコントロールには「licenses.licx」はありません。
※アセンブリの署名は行っていません。


引用返信 編集キー/
■57864 / inTopicNo.2)  Re[1]: カスタムコントロールとlicenses.licxについて
□投稿者/ じゃんぬねっと (51回)-(2011/03/18(Fri) 15:05:34)
じゃんぬねっと さんの Web サイト
No57862 (音色 さん) に返信
> ※LicenseProvider属性を設定せず、「licenses.licx」を手動で書きこむようにすればエラーは発生しません。
> ※カスタムコントロールには「licenses.licx」はありません。
> ※アセンブリの署名は行っていません。

でしたら属性は不要ですので消してください。
Grapecity 用の継承された License プロバイダで勝手に適用されるハズです。

# Spread はまた少し違う動きをしますけど。
引用返信 編集キー/
■57865 / inTopicNo.3)  Re[2]: カスタムコントロールとlicenses.licxについて
□投稿者/ 音色 (4回)-(2011/03/18(Fri) 15:18:47)
No57864 (じゃんぬねっと さん) に返信
> でしたら属性は不要ですので消してください。
> Grapecity 用の継承された License プロバイダで勝手に適用されるハズです。
>


素早いご回答をありがとうございます、じゃんぬねっとさん。

ただ、それだと新しいフォームプロジェクトを作成する度に「licenses.licx」を手動作成しないといけなくなりますよね?
それを回避するためのLicenseProvider属性だと思っていたのですが……

「licenses.licx」を自動追記したい
  ↓
LicenseProvider属性を追加
  ↓
コンパイルエラー

という経緯なのですが、LicenseProvider属性を使わないで「licenses.licx」にGrapecityのライセンスを
自動追記する方法はありますか?

私はLicenseProvider属性を追記する以外の方法を見つけられなかったので、
「リビルドの度にバージョン情報が追記されなくなればいいんだ」と考えてしまったんですけれど……
(なにせバージョン変更予定がないものですから)

LicenseProvider属性の使い方や考え方が違うのでしょうか?



引用返信 編集キー/
■57866 / inTopicNo.4)  Re[3]: カスタムコントロールとlicenses.licxについて
□投稿者/ じゃんぬねっと (52回)-(2011/03/18(Fri) 15:56:35)
じゃんぬねっと さんの Web サイト
No57865 (音色 さん) に返信
> ただ、それだと新しいフォームプロジェクトを作成する度に「licenses.licx」を手動作成しないといけなくなりますよね?

こちらでは勝手に作られていますけどw

継承したカスタムコントロールとありますので、複合コントロールではないのですよね?
コンストラクタ、または IContainer (Component) の紐付けがおかしくなっているだけだったりしませんか?

Grapecity さんの Web サイトに、拡張コントロール作成時には "こういうコンストラクタにしてください" というページがあるハズですが、場所が仙台だからかサーバがダウンしていますね... orz

何とか Google のキャッシュから...
http://www.google.co.jp/search?q=http%3A%2F%2Fwww.grapecity.com%2Fjapan%2Fsupport%2Fkb%2Fdetail.asp%3Fid%3D29281

あれぇ? VB には記述ないですけど C# には LicenseProvider 属性の記述ありますね...
引用返信 編集キー/
■57867 / inTopicNo.5)  Re[4]: カスタムコントロールとlicenses.licxについて
□投稿者/ 音色 (5回)-(2011/03/18(Fri) 16:34:08)
No57866 (じゃんぬねっと さん) に返信
> ■No57865 (音色 さん) に返信
> こちらでは勝手に作られていますけどw
>
> 継承したカスタムコントロールとありますので、複合コントロールではないのですよね?
> コンストラクタ、または IContainer (Component) の紐付けがおかしくなっているだけだったりしませんか?
>

自動で作ってくれないんです……(泣)

------------------------------------------------------------------------------
Imports GrapeCity.Win.Editors
Imports GrapeCity.Win.Editors.Fields
Imports System.ComponentModel

<LicenseProviderAttribute(GetType(LicenseProvider))> _
Public Class MyDate
Inherits GcDate

Public Sub New()
MyBase.New()

' 初期化
Call InitializeCollections()
End Sub

Public Sub New(ByVal container As IContainer)
MyBase.New(container)

' 初期化
Call InitializeCollections()
End Sub

:
:
End Class
------------------------------------------------------------------------------

こんな感じで作成しているんですが、どこかおかしいでしょうか?

確か、私が見たGrapecityさんのページではVB.netでもLicenseProvider属性の記述があったんですけれど…………………………
……今、確認できないですね(泣)


引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -