2017-10-25 6 views
0

私は最初にVS2015で書かれたC#アプリケーションを持っていますが、今年は2017年にアップグレードしました。私はVS2017ヶ月前にプロジェクトを開いていました。過去の4-5営業日にcssおよびjsの配備に関するこのアプリに起こった深刻な奇妙なことについて、ここでは関係がないとの長い話があります。 VS2017で私の手を捨てて、新しいC#/ .netフレームワークプロジェクトを作成し、メインのソースファイルとweb.configファイルをコピーしたと言っても過言ではありません。私のモデルを作り直した。必要なナゲットパッケージを持ってきました。問題なくプロジェクトを作りました。ビジュアルスタジオ2017 web deploy emplyデータベース接続文字列

私は現在、Web配置を試みています。これは簡単なことです。プロジェクトの「リリース」バージョンでは、関連するファイルをIIS開発サーバーに転送する必要があります。私は奇妙なことの前にVS2017でこれを何度も何度もやった。出来た。私が展開プロファイルを作成したとき、私は、データベースを展開しないことを告げたので、

は今、VS2017 Web配置でゼロから作成された.NET Frameworkのプロジェクトがエラーで失敗

The 'Connection String' argument cannot be null or empty. 

でこれが独特です。ただし、Web Deply設定の「実行時にこの接続文字列を使用する」チェックボックスのチェックを外すと無視されます。ボックスのチェックを外して編集内容を保存した後、設定を再編集するとチェックボックスが表示されます。チェックを外し、保存し、VSを終了して再入力すると、チェックボックスがオンになります。

私はRelease.pubxmlファイルの接続要素が、私はこのプロジェクトで作られたそれ以前のコピーからRelease.pubxmlファイルを見てきました

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
     <PropertyGroup> 
     ... 
     <PublishDatabaseSettings> 
      <Objects xmlns=""> 
      <ObjectGroup Name="MsSQLEntities" Order="1" Enabled="False"> 
       <Destination Path="" /> 
       <Object Type="DbCodeFirst"> 
       <Source Path="DBContext" DbContext="myapp.Models.MsSQLEntities, My App" Origin="Configuration" /> 
       </Object> 
      </ObjectGroup> 
      <ObjectGroup Name="MySQLEntities" Order="2" Enabled="False"> 
       <Destination Path="" /> 
       <Object Type="DbCodeFirst"> 
       <Source Path="DBContext" DbContext="myapp.Models.MySQLEntities, My App" Origin="Configuration" /> 
       </Object> 
      </ObjectGroup> 
      </Objects> 
     </PublishDatabaseSettings> 
     </PropertyGroup> 
     <ItemGroup> 
     <MSDeployParameterValue Include="MySQLEntities-Web.config Connection String"> 
      <UpdateDestWebConfig>False</UpdateDestWebConfig> 
     </MSDeployParameterValue> 
     <MSDeployParameterValue Include="MsSQLEntities-Web.config Connection String"> 
      <UpdateDestWebConfig>False</UpdateDestWebConfig> 
     </MSDeployParameterValue> 
     </ItemGroup> 
    </Project> 

を生成ご覧ください。それはbt対2015に作られていただろう。 Eventhough私私は上記のDB接続ボックスのチェックを知っている;このファイルには完全な接続文字列が含まれています。

"古い" pubxmlファイルを新しいプロジェクトにコピーしようとしましたが、何も変わりません。

ああ、上記のpubxmlファイルに注目しただけで、 "DbCodeFirst"について語ります。私はこれがすべてDBだと確信しています。

ヘルプ?

EDIT

は申し訳ありませんが、何らかの形で問題を見つけ、元

答えて

0

にセクションを重複しました。 MySQLのlibs自身が設定したやり方で、web.configファイルに多くの偽のチャフが置かれています。すべてのエントリにはconnectionStringName="LocalMySqlServer"と記載されています。私はそれらのブロックすべてをコメントし、それは再び働いています。

また、Web公開が失敗したと言ってポップアップを投げたとしても、それは実際にはなかった。実際にはリモート開発サイトに公開されています。その上でアプリを実行すると、上記の情報を見つけるのに十分なエラーヒントがダンプされました。

関連する問題