掲示板一覧   -   トピック一覧
   MDGシリーズ・関連製品・アドイン
     自動生成されるDesigner.csの連携の障害について


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
未登録ゲスト
投稿日時: 2007-6-29 18:18

自動生成されるDesigner.csの連携の障害について

いつもお世話になっております。

EAとVS2005(C#)の連携で、フォームなどのクラスを新規に作成した場合、自動生成されるDesigner.csクラスの連携についての障害についてです。

Designer.csクラスがコンパイルできない形でソース出力されます。

[再現方法]
モデルコードとソースの同期を自動にした場合で、Designer.csクラスを保存すると、EAの方にクラスが追加されます。
この状態で、EAを起動し他のクラスなどを修正し、ソースに修正を反映するために、ソースの生成を全てのクラスに対して行ないます。
Designer.csクラスは修正しておりませんが、更新がかかります。更新されると、Designer.csクラスの日本語は、文字化けし、かつ、}の数がおかしくなります。


他のクラスの連携では、日本語が正しく出力されるのに対して、Designer.csクラスは文字化けします。どのようにすれば正しく連携できるのでしょうか。
tkouno
投稿日時: 2007-7-2 9:09
EA Administrator
投稿: 3939

Re: 自動生成されるDesigner.csの連携の障害について

Designer.csクラスを確認したところ、文字コードがUTF-8のようです。
試しにオプションダイアログで文字コードを変更したところ
正しく同期ができました。

お手数をおかけし申し訳ございませんが
ご確認のほどよろしくお願いします。

文字コードにつきましては
https://www.sparxsystems.jp/forum/modules/xhnewbb/viewtopic.php?topic_id=1565&post_id=3353#forumpost3353
あたりをご覧ください。

(「文字化け」あたりで検索すると見つかります。)

今後ともよろしくお願いします。
未登録ゲスト
投稿日時: 2007-7-2 10:29

Re: 自動生成されるDesigner.csの連携の障害について

文字コードをUTF-8にすると、Designer.csクラスの文字化けは解消しました。しかし、また新たな文字化けが発生しました。

例えば、VS2005側で、フォームクラスForm1を新規に作成します。
VS2005では、Form1.cs、Form1.Designer.csが生成されます。
EAと連携します。文字コードは、Form1.Designer.csが文字化けを起こすのでUTF-8に設定します。EA側でソース生成すると、今度は、Form1.csのコメントがVS2005で見ると文字化けを起こします。VS2005で生成する、Form1.cs、Form1.Designer.csの文字コードが違うためこのような結果になるような気がします。

この場合、どのようにしてVS2005で文字化けが起きないように連携ができるのでしょうか。
tkouno
投稿日時: 2007-7-2 10:42
EA Administrator
投稿: 3939

Re: 自動生成されるDesigner.csの連携の障害について

Googleで検索すると、以下のような情報がありました。
ご参考になりますと幸いです。

http://www.atmarkit.co.jp/fdotnet/dotnettips/609vsfileencode/vsfileencode.html

ちなみに、検索キーワードは「VisualStudio 2005 ソース 文字コード」です。
未登録ゲスト
投稿日時: 2007-7-2 14:07

Re: 自動生成されるDesigner.csの連携の障害について

回答ありがとうございます。

基本は、UTF-8となっているのですが、自分のVS2005の環境ではほとんどがS-JISになってしまいます。新規に作成されるソースのエンコードを指定のコードにできるような機能がないのか調べているのですが、Hitできませんでした。なぜエンコードが混在するのか非常に疑問です。

この件で問題だと思ったのは、VS2005で新規作成して、ソースを表示した状態で、EAで修正し、ソース作成をした場合、VS2005では、コードが変更されたので再読込するのですが、エンコードは元のコードのまま表示されてしまうことです。この状態で保存すると昔のコードのまま保存されてしまうので、文字化けしたまま保存されてしまいます。ソースを表示していない、ソースを閉じて再び開けば新しいエンコードで表示されるので問題ありません。

運用でカバーしていきたいと思います。
tkouno
投稿日時: 2007-7-2 14:26
EA Administrator
投稿: 3939

Re: 自動生成されるDesigner.csの連携の障害について

確かにご指摘どおりの動作になっているようです。
こちらでも、既定の状態では混在していました。

VisualStudioのバグのようにも思えるのですが、ちょっとわかりません。

お力になれず申し訳ございません。
Microsoftに問い合わせてみるのがよいかもしれません。
tkouno
投稿日時: 2007-12-3 14:01
EA Administrator
投稿: 3939

Re: 自動生成されるDesigner.csの連携の障害について

こちらの件、先日別のお客様からご指摘および情報提供があり
VisualStudio2005では、UTF-8の場合でもシグネチャ(BOM)が
ない場合には、VisualStudio側で正しく判定できないという
問題があるとのことです。

VisualStudio側の「シグネチャ(BOM)なしの UTF-8 エンコードを自動検出」
という設定項目でもうまく対応できない場合があるとのことで
ツール側でこのVisualStudioの問題を回避する方法が
とられる場合があるとのことです。

この点については、根本的にはEnterprise Architectの問題では
ありませんが、他の例にならいEnterprise Architect側での
対応が可能かどうか、検討します。

引き続きご迷惑をおかけし申し訳ございません。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ