概要
プロデルが、CLRらしいので、調べて見た。
プラグイン、見つけたので、msbuildしてみた。
参考にしたページ
ビルド手順
make.csproj
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{3D390615-8499-41BB-A044-91D2E22CCF90}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Produire.WebView2Control</RootNamespace>
<AssemblyName>Produire.WebView2</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>3.5</OldToolsVersion>
<UpgradeBackupLocation />
<TargetFrameworkProfile />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>3</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<PlatformTarget>AnyCPU</PlatformTarget>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<PlatformTarget>AnyCPU</PlatformTarget>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Drawing" />
<Reference Include="System.Web" />
<Reference Include="System.Windows.Forms" />
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="Microsoft.Web.WebView2.Core">
<HintPath>.\Microsoft.Web.WebView2.Core.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Web.WebView2.WinForms">
<HintPath>.\Microsoft.Web.WebView2.WinForms.dll</HintPath>
</Reference>
<Reference Include="utopiat.Produire">
<HintPath>.\utopiat.Host.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="WebView2Ctrl.cs">
<SubType>UserControl</SubType>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="WebView2Ctrl.resx">
<DependentUpon>WebView2Ctrl.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Web.WebView2">
<Version>1.0.2535.41</Version>
</PackageReference>
<PackageReference Include="utopiat.Produire">
<Version>2.0.1254</Version>
</PackageReference>
</ItemGroup>
<ItemGroup>
<None Include="README.md" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
実行結果
>msbuild make.csproj
Microsoft (R) Build Engine バージョン 4.8.9032.0
[Microsoft .NET Framework、バージョン 4.0.30319.42000]
Copyright (C) Microsoft Corporation. All rights reserved.
2025/07/11 7:39:58 にビルドを開始しました。
ノード 1 上のプロジェクト "C:\Users\ore\csc\Produire.WebView2-1.0.5\make.csproj" (既定のターゲット)。
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(983,5): warning MSB3644: フレームワーク ".NETFramework,
Version=v4.0" の参照アセンブリが見つかりませんでした。これを解決するには、このフレームワーク バージョンの SDK または Targeting Pack をインストールするか、SDK または Targeting Pack を
インストールしているフレームワークのバージョンにアプリケーションを再ターゲットしてください。アセンブリはグローバル アセンブリ キャッシュ (GAC) から解決され、参照アセンブリの代わりに使用されるため、アセンブリが目的のフレームワーク
に正しくターゲットされない場合もあります。 [C:\Users\ore\csc\Produire.WebView2-1.0.5\make.csproj]
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3270: 構築されているプロジェクトのプロセッサ アー
キテクチャ "MSIL" と、参照 "C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll" のプロセッサ アーキテクチャ "x86" の間には不一致がありました。この不一致
は、ランタイム エラーを発生させる可能性があります。プロジェクトと参照の間でプロセッサ アーキテクチャが一致するように、構成マネージャーを使用してターゲットとするプロジェクトのプロセッサ アーキテクチャを変更するか、ターゲットとするプロジ
ェクトのプロセッサ アーキテクチャに一致するプロジェクト アーキテクチャとの依存関係を参照で設定することを検討してください。 [C:\Users\ore\csc\Produire.WebView2-1.0.5\make.csproj]
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3270: 構築されているプロジェクトのプロセッサ アー
キテクチャ "MSIL" と、参照 "System.Data" のプロセッサ アーキテクチャ "AMD64" の間には不一致がありました。この不一致は、ランタイム エラーを発生させる可能性があります。プロジェクトと参照の間でプロセッサ ア
ーキテクチャが一致するように、構成マネージャーを使用してターゲットとするプロジェクトのプロセッサ アーキテクチャを変更するか、ターゲットとするプロジェクトのプロセッサ アーキテクチャに一致するプロジェクト アーキテクチャとの依存関係を参照
で設定することを検討してください。 [C:\Users\ore\csc\Produire.WebView2-1.0.5\make.csproj]
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3270: 構築されているプロジェクトのプロセッサ アー
キテクチャ "MSIL" と、参照 "System.Web" のプロセッサ アーキテクチャ "AMD64" の間には不一致がありました。この不一致は、ランタイム エラーを発生させる可能性があります。プロジェクトと参照の間でプロセッサ アー
キテクチャが一致するように、構成マネージャーを使用してターゲットとするプロジェクトのプロセッサ アーキテクチャを変更するか、ターゲットとするプロジェクトのプロセッサ アーキテクチャに一致するプロジェクト アーキテクチャとの依存関係を参照で
設定することを検討してください。 [C:\Users\ore\csc\Produire.WebView2-1.0.5\make.csproj]
CoreResGen:
古いリソースは、それらのソース ファイルに対して存在しません。リソース生成を省略します。
GenerateTargetFrameworkMonikerAttribute:
すべての出力ファイルが入力ファイルに対して最新なので、ターゲット "GenerateTargetFrameworkMonikerAttribute" を省略します。
CoreCompile:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Csc.exe /noconfig /unsafe+ /nowarn:1701,1702 /nostdlib+ /platform:AnyCP
U /errorreport:prompt /warn:3 /define:DEBUG;TRACE /highentropyva- /reference:C:\WINDOWS\Microsoft.Net\assembly\GAC_MS
IL\Microsoft.CSharp\v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft.CSharp.dll /reference:C:\Users\ore\csc\Produire.WebView2
-1.0.5\Microsoft.Web.WebView2.Core.dll /reference:C:\Users\ore\csc\Produire.WebView2-1.0.5\Microsoft.Web.WebView2.Win
Forms.dll /reference:C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll /reference:C:\WINDOWS\Microsoft.Net\a
ssembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll /reference:C:\WINDOWS\Microsoft.Net\assem
bly\GAC_64\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll /reference:C:\WINDOWS\Microsoft.Net\assembly\GA
C_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll /reference:C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.
Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll /reference:C:\WINDOWS\Microsoft.Net\assembly\GAC_64\System.
Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll /reference:C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Window
s.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll /reference:C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL
\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll /reference:C:\Users\ore\csc\Produire.WebView2-1.0.5\utopiat
.Host.dll /debug+ /debug:full /filealign:512 /optimize- /out:obj\Debug\Produire.WebView2.dll /resource:"obj\Debug\Pro
duire.EdgeControl.Edgeウェブビュー.resources" /target:library /utf8output Properties\AssemblyInfo.cs WebView2Ctrl.cs "C:\Us
ers\ore\AppData\Local\Temp\.NETFramework,Version=v4.0.AssemblyAttributes.cs"
_CopyFilesMarkedCopyLocal:
"C:\Users\ore\csc\Produire.WebView2-1.0.5\Microsoft.Web.WebView2.Core.dll" から "bin\Debug\Microsoft.Web.WebView2.Core.
dll" へファイルをコピーしています。
"C:\Users\ore\csc\Produire.WebView2-1.0.5\Microsoft.Web.WebView2.WinForms.dll" から "bin\Debug\Microsoft.Web.WebView2.W
inForms.dll" へファイルをコピーしています。
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll" から "bin\Debug\mscorlib.dll" へファイルをコピーしています。
"C:\Users\ore\csc\Produire.WebView2-1.0.5\utopiat.Host.dll" から "bin\Debug\utopiat.Host.dll" へファイルをコピーしています。
ディレクトリ "bin\Debug\ja" を作成しています。
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\ja\mscorlib.resources.dll" から "bin\Debug\ja\mscorlib.resources.dll" へフ
ァイルをコピーしています。
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\normidna.nlp" から "bin\Debug\normidna.nlp" へファイルをコピーしています。
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\normnfc.nlp" から "bin\Debug\normnfc.nlp" へファイルをコピーしています。
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\normnfd.nlp" から "bin\Debug\normnfd.nlp" へファイルをコピーしています。
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\normnfkc.nlp" から "bin\Debug\normnfkc.nlp" へファイルをコピーしています。
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\normnfkd.nlp" から "bin\Debug\normnfkd.nlp" へファイルをコピーしています。
CopyFilesToOutputDirectory:
"obj\Debug\Produire.WebView2.dll" から "bin\Debug\Produire.WebView2.dll" へファイルをコピーしています。
make -> C:\Users\ore\csc\Produire.WebView2-1.0.5\bin\Debug\Produire.WebView2.dll
"obj\Debug\Produire.WebView2.pdb" から "bin\Debug\Produire.WebView2.pdb" へファイルをコピーしています。
プロジェクト "C:\Users\ore\csc\Produire.WebView2-1.0.5\make.csproj" (既定のターゲット) のビルドが完了しました。
ビルドに成功しました。
"C:\Users\ore\csc\Produire.WebView2-1.0.5\make.csproj" (既定のターゲット) (1) ->
(GetReferenceAssemblyPaths ターゲット) ->
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(983,5): warning MSB3644: フレームワーク ".NETFramewor
k,Version=v4.0" の参照アセンブリが見つかりませんでした。これを解決するには、このフレームワーク バージョンの SDK または Targeting Pack をインストールするか、SDK または Targeting Pack
をインストールしているフレームワークのバージョンにアプリケーションを再ターゲットしてください。アセンブリはグローバル アセンブリ キャッシュ (GAC) から解決され、参照アセンブリの代わりに使用されるため、アセンブリが目的のフレームワ
ークに正しくターゲットされない場合もあります。 [C:\Users\ore\csc\Produire.WebView2-1.0.5\make.csproj]
"C:\Users\ore\csc\Produire.WebView2-1.0.5\make.csproj" (既定のターゲット) (1) ->
(ResolveAssemblyReferences ターゲット) ->
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3270: 構築されているプロジェクトのプロセッサ
アーキテクチャ "MSIL" と、参照 "C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll" のプロセッサ アーキテクチャ "x86" の間には不一致がありました。この不
一致は、ランタイム エラーを発生させる可能性があります。プロジェクトと参照の間でプロセッサ アーキテクチャが一致するように、構成マネージャーを使用してターゲットとするプロジェクトのプロセッサ アーキテクチャを変更するか、ターゲットとするプ
ロジェクトのプロセッサ アーキテクチャに一致するプロジェクト アーキテクチャとの依存関係を参照で設定することを検討してください。 [C:\Users\ore\csc\Produire.WebView2-1.0.5\make.csproj]
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3270: 構築されているプロジェクトのプロセッサ
アーキテクチャ "MSIL" と、参照 "System.Data" のプロセッサ アーキテクチャ "AMD64" の間には不一致がありました。この不一致は、ランタイム エラーを発生させる可能性があります。プロジェクトと参照の間でプロセッサ
アーキテクチャが一致するように、構成マネージャーを使用してターゲットとするプロジェクトのプロセッサ アーキテクチャを変更するか、ターゲットとするプロジェクトのプロセッサ アーキテクチャに一致するプロジェクト アーキテクチャとの依存関係を
参照で設定することを検討してください。 [C:\Users\ore\csc\Produire.WebView2-1.0.5\make.csproj]
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3270: 構築されているプロジェクトのプロセッサ
アーキテクチャ "MSIL" と、参照 "System.Web" のプロセッサ アーキテクチャ "AMD64" の間には不一致がありました。この不一致は、ランタイム エラーを発生させる可能性があります。プロジェクトと参照の間でプロセッサ
アーキテクチャが一致するように、構成マネージャーを使用してターゲットとするプロジェクトのプロセッサ アーキテクチャを変更するか、ターゲットとするプロジェクトのプロセッサ アーキテクチャに一致するプロジェクト アーキテクチャとの依存関係を参
照で設定することを検討してください。 [C:\Users\ore\csc\Produire.WebView2-1.0.5\make.csproj]
4 個の警告
0 エラー
経過時間 00:00:03.77
サンプルコード
「Produire.WebView2.dll」を利用する
プログラムのタイトルは、「プロデル Edgeウェブブラウザ」
メイン画面を表示する
待機する
メイン画面とは
ウィンドウを受け継ぐ
-メインブラウザ
はじめの手順
初期化する
この内容をプログラムのタイトルに変える
この大きさが変化した時の手順は、大きさが変化
中央パネルというパネルを作る
そのドッキング方向を「全体」に変える
上部パネルというパネルを作る
その高さを60に変える
そのドッキング方向を「上」に変える
上部パネルにメインバーというツールバーを作る
上部パネルにアドレスバーというツールバーを作る
アドレスバーへアドレス欄という選択リストを作る
その内容を「https://」に変える
中央パネルにメインブラウザというEdgeウェブビューを作る
そのドッキング方向を、「全体」に変える
メインバーへ戻るボタンというボタンを作る
その大きさを{24,24}に変える
その透明色を紫に変える
その画像を「[プログラムのフォルダ]image\back.bmp」に変える
メインバーへ進むボタンというボタンを作る
その大きさを{24,24}に変える
その透明色を紫に変える
その画像を「[プログラムのフォルダ]image\forward.bmp」に変える
メインバーへ更新ボタンというボタンを作る
その大きさを{24,24}に変える
その透明色を紫に変える
その画像を「[プログラムのフォルダ]image\refresh.bmp」に変える
メインバーへボタンを中止ボタンとして作る
その大きさを{24,24}に変える
その透明色を紫に変える
その画像を「[プログラムのフォルダ]image\stop.bmp」に変える
大きさが変化
終わり
初期化する手順
初期化開始する
この実質大きさは{778, 544}
この内容は「メイン画面」
この文字色は「標準の文字」
初期化終了する
この設計スケール比率は{144, 144}
終わり
開いた時の手順
メインブラウザを初期化する
//メインブラウザのアドレスは「https://www.yahoo.co.jp/」
終わり
メインブラウザの初期化が完了した時の手順
この時の成功を報告する
//メインブラウザの設定情報の標準コンテキストメニュー=×
メインブラウザの設定情報の開発者ツール=×
メインブラウザの設定情報のズーム操作=×
メインブラウザの設定情報の一般自動入力=×
メインブラウザの設定情報のパスワード自動保存=×
//メインブラウザの設定情報のステータスバー=×
メインブラウザの設定情報のユーザーエージェントを報告する
終わり
メインブラウザのページが読み込まれた時の手順
この内容を「[メインブラウザのタイトル] - [プログラムのタイトル]」に変える
戻るボタンの有効は、メインブラウザの戻せる
進むボタンの有効は、メインブラウザの進める
終わり
メインブラウザの表示が開始される時の手順
アドレス欄の内容をこの時のアドレスに変える
終わり
アドレス欄が入力された時の手順
イベントのキー番号が13なら
アドレス欄の内容が「http:」またはアドレス欄の内容が「https:」で始まるなら
メインブラウザのアドレスをアドレス欄の内容に変える
そうでなければ
メインブラウザでアドレス欄の内容をBingする
そして
イベントの処理済みは、○
そして
終わり
戻るボタンがクリックされた時の手順
メインブラウザを戻る
終わり
進むボタンがクリックされた時の手順
メインブラウザを進む
終わり
更新ボタンがクリックされた時の手順
メインブラウザを更新する
終わり
中止ボタンがクリックされた時の手順
メインブラウザを中止する
終わり
メインブラウザの別ウィンドウが表示される時の手順
Aというメイン画面を作る
Aを表示する
Aのメインブラウザのアドレスをイベントのアドレスに変える
イベントの処理済みは、○
終わり
大きさが変化の手順
アドレス欄の幅を(自分の幅)-50に変える
終わり
終わり
実行結果
以上。