WPF/OpenTK. I cannot load shaders from files.

Hello,

This version of my program works perfect. It gets shaders from strings:


        string vShaderSource =
            "#version 330
" +
            "in vec4 a_Position;
" +
            "void main() {
" +
            "gl_Position = a_Position;
" +
            "}
";
        string fShaderSource =
            "#version 330
" +
            "out vec4 outColor;
" +
            "void main() {
" +
            "outColor = vec4(1.0, 0.0, 0.0, 1.0);
" +
            "}
";

Screenshot
Download the Project: Triangle_StringShaders.zip

But when I want to load shaders from files I receive the error, see Screenshot

Download the Project: Triangle_FileShaderError.zip


        string vShaderSource = null;
        string fShaderSource = null;

        // ...

        private void renderCanvas_Load(object sender, EventArgs e)
        {
            // ...

            // Load shaders from files
            LoadShader("./Shaders/vShader.glsl", out vShaderSource);
            LoadShader("./Shaders/fShader.glsl", out fShaderSource);
            if (vShaderSource == null || fShaderSource == null)
            {
                File.AppendAllText(infoFileName, "Failed to load shaders from files");
                return;
            }

            // ...
        }

        private void LoadShader(string fileName, out string shaderSource)
        {
            shaderSource = null;

            using (StreamReader sr = new StreamReader(fileName))
            {
                shaderSource = sr.ReadToEnd();
            }
        }

The solution. You need to set for files “vShader.glsl” and “fShader.glsl” in settings: “Copy to Output Directory” to “Copy always”.