问题是我无法读取添加到项目中的文件到路径:
<MyProject>/Files/Icons/Material
我尝试使用以下代码段读取代码
public Stream GetIcon(string iconName)
{
var iconPath = Path.Combine( "Files","Icons","Material",iconName);
return File.Create(path);
}
但是,它显示该文件不存在的错误。 请帮忙。
答案 0 :(得分:1)
根据您问题的标签,我假设您需要将文件复制到程序集的二进制目录中。因此,需要多个步骤:
将所有图像文件添加为Content
,然后将CopyToOutputDirectory
选项设置为Always
<Content Include="Files\Icons\Material\some-icon.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
在大多数IDE中,您可以右键单击文件并设置这些选项。或直接编辑cproj
文件。
使用bin
输出目录作为基础目录,解析正确的路径,然后将其与其他部分合并。
var assemblyBinDir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory,
AppDomain.CurrentDomain.RelativeSearchPath ?? "");
var iconPath = Path.Combine(assemblyBinDir, "Files","Icons","Material",iconName);
希望这将有助于解决问题。