从visual studio发布Window窗体应用程序时加密XML配置文件

时间:2017-11-15 11:25:14

标签: c# xml visual-studio encryption publish

我的窗口表单应用程序有XML配置文件。每当我使用click一次发布它时,我需要使用一种方法(已经有)加密这个文件。因此,在部署的工具版本中,用户将无法读取该xml文件。我使用了 BeforePublish ,参考来自:https://msdn.microsoft.com/en-us/library/ms366724.aspx

我在.csproj文件中添加了以下行

<UsingTask TaskName="TestProject.SimpleTask" AssemblyName="TestProject" TaskFactory="SimpleTask" />
<Target Name="BeforePublish">
   <SimpleTask />
</Target>

并添加了一个新类,如下所示:

public class SimpleTask : Microsoft.Build.Utilities.Task
{
   public override bool Execute()
   {
      File.WriteAllText(@"D:\test.txt", "Working");
      //Will add code to encrypt xml file here
      return true;
   }
}

但是当我尝试发布应用程序时,它会给出以下错误:

The task factory "SimpleTask" could not be loaded from the assembly "TestProject". Could not load file or assembly 'TestProject' or one of its dependencies. The system cannot find the file specified.

SimpleTask不依赖于任何其他dll。请帮帮我。 如果对同一问题有其他解决办法,请同时提出建议。提前谢谢。

1 个答案:

答案 0 :(得分:0)

尝试添加AssemblyFile属性,在这里您可以指定程序集的路径:

<UsingTask TaskName="TestProject.SimpleTask" AssemblyName="TestProject" 
TaskFactory="SimpleTask" AssemblyFile="c:\path\to\assembly\TestProject.exe" />