对于我正在做的项目,我需要手动创建一个.net项目。我目前正在使用StreamWriter
创建.sln,.csproj和base(现在为空)类。我也在生成AssemblyInfo.cs类。我已经完全复制了VS.Net在创建空的Windows类库项目时创建的文件和文件夹结构。
出于某种原因,当我尝试打开.sln文件时,根本没有发生任何事情。我可以打开.csproj文件,但项目不会编译。我没有收到任何错误消息,没有任何反应。我已经使用Beyond Compare检查了我创建的所有文件与Visual Studio创建的文件,除项目名称和GUID外,它们完全相同。
有人知道Visual Studio在创建项目时是否在幕后做某事吗?还有什么我可以丢失吗?
答案 0 :(得分:0)
我会检查文件的文本编码。我相信.csproj文件编码为UTF-8,但我可能错了。
答案 1 :(得分:0)
Dave Markle有正确的答案。
我使用以下代码创建我的文件:
StreamWriter sw = File.CreateText(FileName);
这正确创建了文件,但没有正确设置编码。我改成了这个:
FileStream fs = File.Create(FileName);
StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);
并且效果很好。