Skip to content

Commit 8f14ae3

Browse files
CopilotJusterZhu
andcommitted
Address code review feedback
Co-authored-by: JusterZhu <11714536+JusterZhu@users.noreply.github.com>
1 parent 31c3a6b commit 8f14ae3

2 files changed

Lines changed: 17 additions & 6 deletions

File tree

src/Common/CsprojReader.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,11 +131,22 @@ private static string FindCsprojFile(string directory)
131131
return string.Empty;
132132

133133
var csprojFiles = Directory.GetFiles(directory, "*.csproj", SearchOption.TopDirectoryOnly);
134-
return csprojFiles.FirstOrDefault() ?? string.Empty;
134+
135+
if (csprojFiles.Length == 0)
136+
return string.Empty;
137+
138+
if (csprojFiles.Length > 1)
139+
{
140+
Trace.WriteLine($"Warning: Multiple .csproj files found in {directory}. Using the first one: {csprojFiles[0]}");
141+
}
142+
143+
return csprojFiles[0];
135144
}
136145

137146
/// <summary>
138147
/// Find .exe file with matching name recursively
148+
/// Note: Uses SearchOption.AllDirectories which may be slow for large directory trees.
149+
/// This is acceptable as release directories are typically small.
139150
/// </summary>
140151
private static string FindExeFile(string directory, string baseName)
141152
{

src/ViewModels/PacketViewModel.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ private async Task BuildPacketAction()
150150
try
151151
{
152152
// Validate required fields
153-
if (!ValidateRequiredFields())
153+
if (!await ValidateRequiredFields())
154154
return;
155155

156156
// Read configuration from .csproj
@@ -276,7 +276,7 @@ private void CopyDriverFiles(string sourceDir, string targetDir)
276276
/// <summary>
277277
/// Validate required fields
278278
/// </summary>
279-
private bool ValidateRequiredFields()
279+
private async Task<bool> ValidateRequiredFields()
280280
{
281281
var errors = new System.Collections.Generic.List<string>();
282282

@@ -298,7 +298,7 @@ private bool ValidateRequiredFields()
298298
if (errors.Any())
299299
{
300300
var message = $"The following required fields must be filled:\n{string.Join(", ", errors)}";
301-
MessageBox.ShowAsync(message, "Validation Error", Buttons.OK).Wait();
301+
await MessageBox.ShowAsync(message, "Validation Error", Buttons.OK);
302302
return false;
303303
}
304304

@@ -345,8 +345,8 @@ private async Task<string> CreateConfigInfoFile()
345345
MainAppName = ConfigModel.MainAppName,
346346
ClientVersion = ConfigModel.ClientVersion,
347347
PacketName = ConfigModel.Name,
348-
Format = ConfigModel.Format.Value,
349-
Encoding = ConfigModel.Encoding.DisplayName
348+
Format = ConfigModel.Format?.Value ?? string.Empty,
349+
Encoding = ConfigModel.Encoding?.DisplayName ?? string.Empty
350350
};
351351

352352
var json = JsonConvert.SerializeObject(configInfo, Formatting.Indented);

0 commit comments

Comments
 (0)