最近、私は、私Baiduの、言ったIISのアクセス許可の問題、あなたは通常のアプリケーションを開くことができますが、アプリケーションは上記のIISで実行するように配置することができない、対デバッグを使用し、上記のページでアプリケーションを開き、小さな機能をしましたそれを行うための理由に基づいて、どのようにイライラすることはOKではありません。最後にボスは、2つの解決策は、まず、使い捨てのB / Sの変化C / S、秒を与え、CefSharp bに/サイトに埋め込まsです。B / Sのウェブサイトは、トークンジェスチャーを行っている、それはCefSharpを使用します。
ここでのCefSharpを使用するための手順は次のとおりです。
1.基本的なWinformsのアプリケーションを作成し、NuGetパッケージを使用CefSharpを追加します。
あなたが作成する前に、コンピュータがインストールされていることを確認します CefSharp 45.0以降VC 2013再頒布可能パッケージのx86をインストールする必要があり、それ以前のバージョンでは、VC 2012再頒布可能パッケージのx86が必要です。ない場合は、次のエラーが報告されます。
An unhandled exception of type
'System.IO.FileNotFoundException'
occurred
in
browser.exe Additional information: Could not load file or assembly
'CefSharp.Core.dll'
or one of its dependencies.
(型または名前空間名「Cefsharp」を見つけることができません:通常の勧告を完全に閉じVS、CefSharpの最新バージョンをインストールし、再度それをオンにするか、エラーが発生することがあり(これはあなたの引用の表示、および完全なインテリセンスがあることを保証します)あなたがusingディレクティブまたはアセンブリ参照が不足していますか?)
2変更設定プラットフォーム(のx86、x64の、またはAnyCPU)
私が使用CefSharpのバージョンは、設定を変更するので、51以上です。
まず、あなたのプロジェクト-name.csprojファイルを検索し、最初の<PropertyGroup>ノードに追加しました:
<CefSharpAnyCpuSupport>
true
</CefSharpAnyCpuSupport>
その後、app.configファイルを変更します。
<runtime>
<assemblyBinding xmlns=
"urn:schemas-microsoft-com:asm.v1"
>
<probing privatePath=
"x86"
/>
</assemblyBinding>
</runtime>
使用してSystem.Textのを。 使用してSystem.Threading.Tasksを。 使用してのSystem.Windows.Formsを。 使用してCefSharpを。 使用してCefSharp.WinFormsを。 使用System.Configurationを。 名前空間VR.Winfrom { パブリック 部分 クラスをForm1:フォーム { 公共ChromiumWebBrowser chromeBrowser。 公共のForm1() { のInitializeComponent(); この .WindowState = FormWindowState.Maximized。 InitializeChromium(); //CefCustomObjectクラスの機能と"cefCustomObject"というJavaScriptでオブジェクトを登録します。3 chromeBrowser.RegisterJsObject(" formProcess "、新 FormProcess(chromeBrowser、この)); } 公共 ボイドInitializeChromium() { CefSettings設定 = 新しいCefSettings()。 // 提供設定でCEFを初期化 Cef.Initialize(設定)。 // ブラウザコンポーネントを作成し 、文字列のURL = ConfigurationManager.AppSettings [ " URLを" ]; chromeBrowser = 新しいChromiumWebBrowser(URL); // フォームに追加し、フォームウィンドウにそれを埋める。 この.Controls.Add(chromeBrowser); chromeBrowser.Dock = DockStyle.Fill; //は、ローカルの使用を許可しますブラウザ内のリソース = BrowserSettings browserSettings 新しいBrowserSettings(); browserSettings.FileAccessFromFileUrls = CefState.Enabled; browserSettings.UniversalAccessFromFileUrls = CefState.Enabled; browserSettings.WebSecurity =CefState.Enabled; chromeBrowser.BrowserSettings = browserSettings。 } プライベート ボイド Form1_FormClosing(オブジェクト送信者、FormClosingEventArgs E) { Cef.Shutdown()。 } } }
たSystem.Diagnosticsを使用しました。
CefSharp.WinFormsを使用しました。
VR.DALを使用しました。
システムを使用しました。
名前空間VR.Winfrom
{
publicクラスFormProcess
{
//メインスレッドで、ここから物事を実行するために、クロムとメインフォームのローカルインスタンスを宣言
プライベート静的ChromiumWebBrowser _instanceBrowser = NULL;
//フォームクラスはあなたに応じて変更する必要がある
プライベート静的Form1の_instanceMainForm = NULL;
公共FormProcess(ChromiumWebBrowser originalBrowserは、Form1のMainForm)
{
_instanceBrowser = originalBrowser。
_instanceMainForm = MainFormを。
}
公共ボイドopencmd(文字列filePathに)
{
文字列ファイル= @ "" + filePathに。
=新しいProcessStartInfo(ファイル)を起動ProcessStartInfo。
Process.Start(スタート)。
}
}
}
最後のWebページを思い出してください
<ボタンクラス = " BTN BTN-主" onclickの= " FormProcess.opencmd( 'C://プログラムファイル(x86の)//グーグルクローム// //アプリケーション// chrome.exe'); " >開く</ボタン>
参考URL:のhttp://www.libs.org.cn/index.phpメートル=コンテンツ&C =インデックス&A =ショー&CATID = 90&ID = 129?
出典:https://www.cnblogs.com/shimiyan/p/6932073.html
最近、私は、私Baiduの、言ったIISのアクセス許可の問題、あなたは通常のアプリケーションを開くことができますが、アプリケーションは上記のIISで実行するように配置することができない、対デバッグを使用し、上記のページでアプリケーションを開き、小さな機能をしましたそれを行うための理由に基づいて、どのようにイライラすることはOKではありません。最後にボスは、2つの解決策は、まず、使い捨てのB / Sの変化C / S、秒を与え、CefSharp bに/サイトに埋め込まsです。B / Sのウェブサイトは、トークンジェスチャーを行っている、それはCefSharpを使用します。
ここでのCefSharpを使用するための手順は次のとおりです。
1.基本的なWinformsのアプリケーションを作成し、NuGetパッケージを使用CefSharpを追加します。
あなたが作成する前に、コンピュータがインストールされていることを確認します CefSharp 45.0以降VC 2013再頒布可能パッケージのx86をインストールする必要があり、それ以前のバージョンでは、VC 2012再頒布可能パッケージのx86が必要です。ない場合は、次のエラーが報告されます。
An unhandled exception of type
'System.IO.FileNotFoundException'
occurred
in
browser.exe Additional information: Could not load file or assembly
'CefSharp.Core.dll'
or one of its dependencies.
(型または名前空間名「Cefsharp」を見つけることができません:通常の勧告を完全に閉じVS、CefSharpの最新バージョンをインストールし、再度それをオンにするか、エラーが発生することがあり(これはあなたの引用の表示、および完全なインテリセンスがあることを保証します)あなたがusingディレクティブまたはアセンブリ参照が不足していますか?)
2変更設定プラットフォーム(のx86、x64の、またはAnyCPU)
私が使用CefSharpのバージョンは、設定を変更するので、51以上です。
まず、あなたのプロジェクト-name.csprojファイルを検索し、最初の<PropertyGroup>ノードに追加しました:
<CefSharpAnyCpuSupport>
true
</CefSharpAnyCpuSupport>
その後、app.configファイルを変更します。
<runtime>
<assemblyBinding xmlns=
"urn:schemas-microsoft-com:asm.v1"
>
<probing privatePath=
"x86"
/>
</assemblyBinding>
</runtime>
使用してSystem.Textのを。 使用してSystem.Threading.Tasksを。 使用してのSystem.Windows.Formsを。 使用してCefSharpを。 使用してCefSharp.WinFormsを。 使用System.Configurationを。 名前空間VR.Winfrom { パブリック 部分 クラスをForm1:フォーム { 公共ChromiumWebBrowser chromeBrowser。 公共のForm1() { のInitializeComponent(); この .WindowState = FormWindowState.Maximized。 InitializeChromium(); //CefCustomObjectクラスの機能と"cefCustomObject"というJavaScriptでオブジェクトを登録します。3 chromeBrowser.RegisterJsObject(" formProcess "、新 FormProcess(chromeBrowser、この)); } 公共 ボイドInitializeChromium() { CefSettings設定 = 新しいCefSettings()。 // 提供設定でCEFを初期化 Cef.Initialize(設定)。 // ブラウザコンポーネントを作成し 、文字列のURL = ConfigurationManager.AppSettings [ " URLを" ]; chromeBrowser = 新しいChromiumWebBrowser(URL); // フォームに追加し、フォームウィンドウにそれを埋める。 この.Controls.Add(chromeBrowser); chromeBrowser.Dock = DockStyle.Fill; //は、ローカルの使用を許可しますブラウザ内のリソース = BrowserSettings browserSettings 新しいBrowserSettings(); browserSettings.FileAccessFromFileUrls = CefState.Enabled; browserSettings.UniversalAccessFromFileUrls = CefState.Enabled; browserSettings.WebSecurity =CefState.Enabled; chromeBrowser.BrowserSettings = browserSettings。 } プライベート ボイド Form1_FormClosing(オブジェクト送信者、FormClosingEventArgs E) { Cef.Shutdown()。 } } }
たSystem.Diagnosticsを使用しました。
CefSharp.WinFormsを使用しました。
VR.DALを使用しました。
システムを使用しました。
名前空間VR.Winfrom
{
publicクラスFormProcess
{
//メインスレッドで、ここから物事を実行するために、クロムとメインフォームのローカルインスタンスを宣言
プライベート静的ChromiumWebBrowser _instanceBrowser = NULL;
//フォームクラスはあなたに応じて変更する必要がある
プライベート静的Form1の_instanceMainForm = NULL;
公共FormProcess(ChromiumWebBrowser originalBrowserは、Form1のMainForm)
{
_instanceBrowser = originalBrowser。
_instanceMainForm = MainFormを。
}
公共ボイドopencmd(文字列filePathに)
{
文字列ファイル= @ "" + filePathに。
=新しいProcessStartInfo(ファイル)を起動ProcessStartInfo。
Process.Start(スタート)。
}
}
}
最後のWebページを思い出してください
<ボタンクラス = " BTN BTN-主" onclickの= " FormProcess.opencmd( 'C://プログラムファイル(x86の)//グーグルクローム// //アプリケーション// chrome.exe'); " >開く</ボタン>
参考URL:のhttp://www.libs.org.cn/index.phpメートル=コンテンツ&C =インデックス&A =ショー&CATID = 90&ID = 129?