質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

3回答

3449閲覧

VisualStudio2017でMicrosoftReportを使った作業中、rdlcファイルが急に使えなくなった

退会済みユーザー

退会済みユーザー

総合スコア0

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

0クリップ

投稿2019/04/11 02:58

編集2019/04/12 05:13

VisualStudio2017でMicrosoftReportを使って開発しています。
4/10までは真っ当に動いていたのですが、今朝動かしてみると、エラー一覧に何も表示されていないのにビルドできなくなっていました。
作業中のプログラム以外もMicrosoftReportを使っているプログラムは全てビルドできなくなっており、調べた結果、どうやらレポートのrdlcファイルが悪いことがわかりました。が、どうすれば元通り動くのかがわかりません。

下はrdlcファイルの中身です。

<?xml version="1.0" encoding="utf-8"?> <Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner"> <Width>6.5in</Width> <Body> <Height>2in</Height> </Body> <rd:ReportTemplate>true</rd:ReportTemplate> <Page> </Page> </Report>

xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner"のURLにアクセスすると、> The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
という文字が表示されます。ここが悪いんじゃないかと思うのですが、確認したことがなく、今までもURLが生きていたのか定かではありません。また、悪かったとして、ではどこのURLに繋げばいいのかも不明です。

念のため、packages.configファイルも書いておきます。

<?xml version="1.0" encoding="utf-8"?> <packages> <package id="Microsoft.ReportingServices.ReportViewerControl.Winforms" version="150.900.148" targetFramework="net461" /> <package id="Microsoft.SqlServer.Types" version="14.0.314.76" targetFramework="net461" /> </packages>

MicrosoftReportはこちらのサイトのとおりに設定しています。アプリのターゲットフレームワークは.NET Framework 4.6.1です。Visualstudioの修復インストールと再起動、『Microsoft Rdlc Report Designer for Visual Studio』の再インストールはすでに行っています。

どうすれば元通りレポート開発ができるようになるでしょうか?
よろしくお願いします。

2019/04/12
回答でいただいたサイトからリンクを辿り、SSDTをインストールしたVisualStudioのデザイナで開きレポート定義ファイルのアップグレードを行いました。

自動で作成されたバックアップファイルの中身が

<?xml version="1.0" encoding="utf-8"?> <Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner"> <Width>6.5in</Width> <Body> <Height>2in</Height> </Body> <rd:ReportTemplate>true</rd:ReportTemplate> <Page> </Page> </Report>

となっていたので、バックアップファイルと現行のRDLCファイルの中身を移し替えました(バックアップじゃないほうのファイルは2008のままでした)。
すると、

シリアル化を解除できませんでした: 要素 名前空間 'http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition' の 'Report' には無効な子要素 名前空間 'http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition' の 'Width' が含まれています。必要とされる要素は 名前空間 'http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition' の 'Description, Author, AutoRefresh, InitialPageName, DataSources, DataSets, ReportParameters, Code, EmbeddedImages, Language, CodeModules, Classes, CustomProperties, Variables, DeferVariableEvaluation, ConsumeContainerWhitespace, DataTransform, DataSchema, DataElementName, DataElementStyle, ReportSections' および 名前空間 '##other' のすべての要素 です。 行 3、位置 4。

というエラーが出てしまいました。

移動せずにそのまま動かそうとしても、やはりビルドすらできずpackagesファイルに「'packages' 要素が宣言されていません。」という警告がでるばかりです。
rdlcファイルを消せば動くあたり、このファイルに問題があるとみて間違いないとは思うのですが……。
私のやり方が悪いのでしょうか?
引き続き、ご協力をお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

先ほどの回答は撤回します。ビルドできました!
参考URL:https://marketplace.visualstudio.com/items?itemName=ProBITools.MicrosoftRdlcReportDesignerforVisualStudio-18001&ssr=false#qna
拡張機能のインストール時にDLLファイルの設置が不足していることが原因だそうです。

(以下パスはCommunity版の場合はProfessional→Communityに変更)

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin
上記のフォルダにMicrosoft.SqlServer.Types.dllをコピーすればビルド可能になります。

そのdllファイルは
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\Rdlc
からコピーするか、PC内を検索してください。Rdlcデザイナがインストールされているならどこかにあるはず。多分nugetでいつの間にかインストールされている筈(笑)。

あぁ、これでぐっすり眠れそうです。

投稿2019/04/12 14:37

kalma

総合スコア25

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/04/14 23:30 編集

遅ればせながら、私もビルドできました! ありがとうございました。もうホント、ダメかと思っていました。 これで仕事ができます。 ありがとうございました!
guest

0

RDLCのバージョンがとっても古いので、
http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition
最近Visual Studio の Reporting Service 関連のアップデートがあったので使えなくなったのでしょう。

使えるようにするには、アップデートを消すかRDLCをバージョンアップするかでしょうね。
ちなみに私は古いRDLCから新しいRDLCへはハンドコンバートしています。
いい方法があったら教えて欲しいです。

Visual Studio 2017 からは Reporting Service 関連が固定ではなくなったので載ってませんが、
レポート デザインとレポート配置の計画 | Reporting Services
が参考になるかもしれません。

投稿2019/04/11 08:11

hihijiji

総合スコア4150

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hihijiji

2019/04/11 09:11

ちなみにXML名前空間のURLは、一意で意味が解り易い名前ってだけです。 そこにHTML文書が公開されているかは関係ありません。 以前MSはHTMLが置いてあったので私も勘違いしてました. 今でも一部残ってます。http://schemas.microsoft.com/SQLServer/
退会済みユーザー

退会済みユーザー

2019/04/11 23:32

ご回答ありがとうございます。バージョンアップの方法を調べて試してみます。
退会済みユーザー

退会済みユーザー

2019/04/12 05:14

今見たらVisualStudioの現在のバージョンが15.9.9で最新版ではありませんでした。 それはそれとして、とりあえず紹介いただいたサイトからリンクを辿ってレポートのアップグレードを行いました。結果は長文になったので本文に追記いたします。詳しい結果はここには書きませんが、できましたら、引き続きご協力をお願い致します。
hihijiji

2019/04/12 05:29

Report Server を使ったRDLCのアップデートは私も考えましたが、私が思いつく方法はハンドコンバートよりも多くの手間が必要なため断念しました。
退会済みユーザー

退会済みユーザー

2019/04/12 05:34

無知をさらすようでお恥ずかしい限りですが、その「ハンドコンバート」というのはどのように行うのでしょうか?
hihijiji

2019/04/12 06:39

手作業でコンバートするってだけの意味です。
退会済みユーザー

退会済みユーザー

2019/04/12 06:47

お答えいただきありがとうございます。
guest

0

拡張機能でインストールしているrdlcデザイナーがver14.2から15.1に4/11にバージョンアップされました。これはvs2019に対応させたバージョンアップでvs2017にインストールしているとビルドができなくなる仕様?不具合?となっているようです。拡張機能と更新プログラムの画面からアンインストールするとビルドできるようになります。(無効化ではだめでした)当然アンインストールするとレポートデザイナが使えなくなります。
おとなしくVS2019に乗り換えるしかないようです。
つくづくオプションで拡張機能の自動更新を無効にしておかなかった事が悔やまれます。

投稿2019/04/12 14:02

kalma

総合スコア25

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問