对于我较早的一个问题,涉及 VBC 和 NAnt 与 WinForms,我已经想出了一个更好的方式来说明这一点。
在 vbproj 文件中,您具有以下内容:
<ItemGroup>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
</ItemGroup>
<ItemGroup>
<Content Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</Content>
</ItemGroup>
当从 Visual Studio 中运行构建(Debug Verbosity 设置为 Normal)时,产生的行之一是:
Target CoreCompile:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Vbc.exe ...
其中包括运行 vbc.exe 所需的所有设置。但是,从 Visual Studio 中获取该字符串,并直接在命令行上运行它会产生:
... My Project\Settings.Designer.vb(67) : error BC30002: Type 'My.MySettings' is not defined.
Friend ReadOnly Property Settings() As Global.My.MySettings
...\My Project\Settings.Designer.vb(69) : error BC30456: 'My' is not a member of '<Default>'.
Return Global.My.MySettings.Default
如何让上述生成器从命令行运行,或者是否有一个调用会生成 vbc.exe 正确运行命令字符串所需的正确临时文件?