<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>VSCode &#8211; Bubblog</title>
	<atom:link href="https://blog.yangyuanping.com/tag/vscode/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.yangyuanping.com</link>
	<description>nullable reference types</description>
	<lastBuildDate>Tue, 23 Dec 2025 14:19:57 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://blog.yangyuanping.com/wp-content/uploads/2025/11/cropped-patrick_log_logo_251121-2-32x32.png</url>
	<title>VSCode &#8211; Bubblog</title>
	<link>https://blog.yangyuanping.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Mac 中使用 VSCode 开发 Framework 项目指南</title>
		<link>https://blog.yangyuanping.com/mac-%e4%b8%ad%e4%bd%bf%e7%94%a8-vscode-%e5%bc%80%e5%8f%91-framework-%e9%a1%b9%e7%9b%ae%e6%8c%87%e5%8d%97/</link>
		
		<dc:creator><![CDATA[peny911]]></dc:creator>
		<pubDate>Tue, 23 Dec 2025 14:19:57 +0000</pubDate>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[VSCode]]></category>
		<guid isPermaLink="false">https://blog.yangyuanping.com/?p=1072</guid>

					<description><![CDATA[前置要求 对于 .NET Framework 4.5.2 项目，在 macOS 上需要使用 Mono 来运行。 [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2>前置要求</h2>
<p>对于 .NET Framework 4.5.2 项目，在 macOS 上需要使用 Mono 来运行。</p>
<h2>第一步：安装必需工具</h2>
<h3>1. 安装 Mono</h3>
<pre><code class="language-bash">brew install mono</code></pre>
<p>验证安装：</p>
<pre><code class="language-bash">mono --version</code></pre>
<h3>2. 安装 NuGet</h3>
<pre><code class="language-bash">brew install nuget</code></pre>
<h3>3. 安装 MSBuild (包含在 Mono 中)</h3>
<p>验证安装：</p>
<pre><code class="language-bash">msbuild -version</code></pre>
<h3>4. 安装 XSP (Mono 的 Web 服务器)</h3>
<pre><code class="language-bash">brew install xsp</code></pre>
<h2>第二步：安装 VSCode 扩展</h2>
<p>在 VSCode 中安装以下扩展（已在 &lt;code&gt;.vscode/extensions.json&lt;/code&gt; 中推荐）：</p>
<ol>
<li><strong>C# Dev Kit</strong> &#8211; 微软官方 C# 支持</li>
<li><strong>C#</strong> &#8211; OmniSharp 语言服务</li>
<li><strong>.NET Test Explorer</strong> &#8211; 测试资源管理器</li>
</ol>
<p>重启 VSCode 以激活扩展。</p>
<h2>第三步：构建项目</h2>
<h3>方法 1：使用 VSCode 任务（推荐）</h3>
<ol>
<li>按 &lt;code&gt;Cmd+Shift+P&lt;/code&gt; 打开命令面板</li>
<li>选择 &lt;code&gt;Tasks: Run Task&lt;/code&gt;</li>
<li>选择 &lt;code&gt;构建解决方案 (Debug)&lt;/code&gt;</li>
</ol>
<h3>方法 2：使用终端命令</h3>
<pre><code class="language-bash"># 恢复 NuGet 包
nuget restore &lt;Solution-Name&gt;.sln

# 构建项目
msbuild &lt;Solution-Name&gt;.sln /p:Configuration=Debug</code></pre>
<h2>第四步：运行和调试</h2>
<h3>运行 WebAPI 项目</h3>
<h4>方法 1：使用 XSP（Mono Web 服务器）</h4>
<pre><code class="language-bash"># 在终端中运行
xsp4 --port=&lt;PORT&gt; --path=&lt;ProjectName&gt;</code></pre>
<p>然后访问：<a href="http://localhost:23985/api/message">http://localhost:23985/api/message</a></p>
<h4>方法 2：使用 VSCode 任务</h4>
<ol>
<li>按 &lt;code&gt;Cmd+Shift+P&lt;/code&gt;</li>
<li>选择 &lt;code&gt;Tasks: Run Task&lt;/code&gt;</li>
<li>选择 &lt;code&gt;运行 WebAPI (XSP)&lt;/code&gt;</li>
</ol>
<h3>调试代码</h3>
<ol>
<li>在代码中设置断点（点击行号左侧）</li>
<li>按 &lt;code&gt;F5&lt;/code&gt; 或点击调试面板的&quot;开始调试&quot;</li>
<li>选择配置：&lt;code&gt;调试 WebAPI (Mono)&lt;/code&gt;</li>
</ol>
<h3>运行单元测试</h3>
<h4>使用 VSCode 任务：</h4>
<ol>
<li>按 &lt;code&gt;Cmd+Shift+P&lt;/code&gt;</li>
<li>选择 &lt;code&gt;Tasks: Run Task&lt;/code&gt;</li>
<li>选择 &lt;code&gt;运行单元测试&lt;/code&gt;</li>
</ol>
<h4>使用命令行：</h4>
<pre><code class="language-bash"># 首先需要安装 NUnit Console Runner（如果还没有）
nuget install NUnit.ConsoleRunner -Version 3.15.0 -OutputDirectory packages

# 运行测试
mono packages/NUnit.ConsoleRunner.3.15.0/tools/nunit3-console.exe \
  &lt;TestProjectName&gt;/bin/Debug/&lt;TestProjectName&gt;.dll</code></pre>
<h2>常用 VSCode 快捷键</h2>
<ul>
<li>&lt;code&gt;Cmd+Shift+B&lt;/code&gt; &#8211; 运行默认构建任务</li>
<li>&lt;code&gt;F5&lt;/code&gt; &#8211; 开始调试</li>
<li>&lt;code&gt;Shift+F5&lt;/code&gt; &#8211; 停止调试</li>
<li>&lt;code&gt;F9&lt;/code&gt; &#8211; 切换断点</li>
<li>&lt;code&gt;F10&lt;/code&gt; &#8211; 单步跳过</li>
<li>&lt;code&gt;F11&lt;/code&gt; &#8211; 单步进入</li>
<li>&lt;code&gt;Cmd+K Cmd+D&lt;/code&gt; &#8211; 格式化文档</li>
</ul>
<h2>常见问题</h2>
<h3>1. Mono 找不到程序集</h3>
<p>确保已运行 &lt;code&gt;nuget restore&lt;/code&gt; 来恢复所有依赖包。</p>
<h3>2. MSBuild 失败</h3>
<p>检查 Mono 版本是否支持 .NET Framework 4.5.2：</p>
<pre><code class="language-bash">mono --version</code></pre>
<p>需要 Mono 5.0 或更高版本。</p>
<h3>3. XSP 无法启动</h3>
<p>确保端口 23985 未被占用：</p>
<pre><code class="language-bash">lsof -i :23985</code></pre>
<h3>4. OmniSharp 无法加载项目</h3>
<p>在 VSCode 设置中确保：</p>
<ul>
<li>&lt;code&gt;omnisharp.useModernNet&lt;/code&gt; 设置为 &lt;code&gt;false&lt;/code&gt;</li>
<li>&lt;code&gt;omnisharp.monoPath&lt;/code&gt; 指向正确的 Mono 安装路径</li>
</ul>
<h2>已知限制</h2>
<ol>
<li><strong>调试功能受限</strong>：Mono 的调试体验不如 Windows 上的 Visual Studio</li>
<li><strong>性能差异</strong>：Mono 运行性能可能低于 Windows .NET Framework</li>
<li><strong>某些 API 不可用</strong>：部分 Windows 特定的 API 在 Mono 上不支持</li>
</ol>
<h2>建议</h2>
<p>对于生产环境部署，建议：</p>
<ol>
<li>在 Windows Server 上使用 IIS 托管</li>
<li>或考虑将项目迁移到 .NET 6/8 以获得跨平台支持</li>
</ol>
<h2>迁移到现代 .NET 的好处</h2>
<p>如果你计划长期维护此项目，可以考虑迁移到 .NET 8：</p>
<ul>
<li>原生跨平台支持（无需 Mono）</li>
<li>更好的性能</li>
<li>现代化的工具链</li>
<li>长期支持（LTS）</li>
</ul>
<p>迁移步骤请参考：<a href="https://docs.microsoft.com/zh-cn/aspnet/core/migration/">https://docs.microsoft.com/zh-cn/aspnet/core/migration/</a></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
