C# 一旦发生更改,只需使用添加的资源重新编译解决方案。但这将构建整个源代码,如果我只让用户创建一个dll文件,这两个文件将彼此独立,因此如果我创建一个新版本,每个第三方不必重新构建完整的应用程序,相反,程序将自我更新,数据仍可从dll文件中检索。AFAIK资源

C# 一旦发生更改,只需使用添加的资源重新编译解决方案。但这将构建整个源代码,如果我只让用户创建一个dll文件,这两个文件将彼此独立,因此如果我创建一个新版本,每个第三方不必重新构建完整的应用程序,相反,程序将自我更新,数据仍可从dll文件中检索。AFAIK资源,c#,compiler-construction,C#,Compiler Construction,一旦发生更改,只需使用添加的资源重新编译解决方案。但这将构建整个源代码,如果我只让用户创建一个dll文件,这两个文件将彼此独立,因此如果我创建一个新版本,每个第三方不必重新构建完整的应用程序,相反,程序将自我更新,数据仍可从dll文件中检索。AFAIK资源文件可以作为独立文件存在,因此对该文件所做的更改不需要重新编译项目。我没有尝试过,这只是我的假设。我没有共享SVN,他们也不需要查看代码。只有一些字符串和一个徽标。在这种情况下,我会制作一个带有上传功能的gui页面,并制作一些服务工具来关注某个



一旦发生更改,只需使用添加的资源重新编译解决方案。但这将构建整个源代码,如果我只让用户创建一个dll文件,这两个文件将彼此独立,因此如果我创建一个新版本,每个第三方不必重新构建完整的应用程序,相反,程序将自我更新,数据仍可从dll文件中检索。AFAIK资源文件可以作为独立文件存在,因此对该文件所做的更改不需要重新编译项目。我没有尝试过,这只是我的假设。我没有共享SVN,他们也不需要查看代码。只有一些字符串和一个徽标。在这种情况下,我会制作一个带有上传功能的gui页面,并制作一些服务工具来关注某个文件夹中的更改。一旦发生更改,只需使用添加的资源重新编译解决方案。但这将构建整个源代码,如果我只让用户创建一个dll文件,这两个文件将彼此独立,因此如果我创建一个新版本,每个第三方不必重新构建完整的应用程序,相反,程序将自我更新,数据仍可从dll文件中检索。AFAIK资源文件可以作为独立文件存在,因此对该文件所做的更改不需要重新编译项目。我还没试过,这只是我的假设。你能在C#template文件上添加硼吗?这是一个有字符串的文本文件吗?你能在C#模板文件上删除吗?这是一个包含字符串的文本文件吗?这需要在客户端运行编译,我宁愿在服务器端运行。为什么这需要在客户端运行编译?在服务器端做这件事然后啊,对不起,我没有想到ASP.NET。谢谢你的提醒。那你是什么意思我们谈论的是什么样的服务器?我没有特别的意思,我只是用PHP在服务器端构建一些东西,但是我现在可能会安装一个2008年的服务器,并用一些ASP.NET来构建它;-)这需要在客户端运行编译,我更愿意在服务器端运行。为什么这需要在客户端运行编译?在服务器端做这件事然后啊,对不起,我没有想到ASP.NET。谢谢你的提醒。那你是什么意思我们谈论的是什么样的服务器?我没有特别的意思,我只是用PHP在服务器端构建一些东西,但是我现在可能会安装一个2008年的服务器,并用一些ASP.NET来构建它;-)你想要使用一个持续集成软件,google for it(CruiseControl,Jenkins等)你想要使用一个持续集成软件,google for it(CruiseControl,Jenkins等)
var csc = new CSharpCodeProvider(new Dictionary<string, string>() { { "CompilerVersion", "v3.5" } });
var parameters = new CompilerParameters(new[] { "mscorlib.dll", "System.Core.dll" }, "foo.exe", true);
parameters.GenerateExecutable = true;
CompilerResults results = csc.CompileAssemblyFromSource(parameters,
@"using System.Linq;
    class Program {
      public static void Main(string[] args) {
        var q = from i in Enumerable.Rnge(1,100)
                  where i % 2 == 0
                  select i;
      }
    }");

results.Errors.Cast<CompilerError>().ToList().ForEach(error => Console.WriteLine(error.ErrorText));